<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.5"/>
<title>xilnvm: XilNvm eFUSE Client APIs</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
  $(document).ready(initResizable);
  $(window).load(resizeHeight);
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="HTML_custom.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectlogo"><img alt="Logo" src="xlogo_bg.png"/></td>
  <td style="padding-left: 0.5em;">
   <div id="projectname">xilnvm
   </div>
   <div id="projectbrief">Vitis Drivers API Documentation</div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.5 -->
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Overview</span></a></li>
      <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
      <li><a href="globals.html"><span>APIs</span></a></li>
      <li><a href="files.html"><span>File&#160;List</span></a></li>
    </ul>
  </div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;"
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('group__xnvm__efuse__client__apis.html','');});
</script>
<div id="doc-content">
<div class="header">
  <div class="summary">
<a href="#define-members">Macros</a> &#124;
<a href="#func-members">Functions</a>  </div>
  <div class="headertitle">
<div class="title">XilNvm eFUSE Client APIs</div>  </div>
</div><!--header-->
<div class="contents">
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a>
Macros</h2></td></tr>
<tr class="memitem:ga16b69cce167bd701e56511c099fdf150"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xnvm__efuse__client__apis.html#ga16b69cce167bd701e56511c099fdf150">XNVM_SLR_INDEX_SHIFT</a>&#160;&#160;&#160;(6U)</td></tr>
<tr class="memdesc:ga16b69cce167bd701e56511c099fdf150"><td class="mdescLeft">&#160;</td><td class="mdescRight">&lt; Slr index shift constant  <a href="#ga16b69cce167bd701e56511c099fdf150">More...</a><br/></td></tr>
<tr class="separator:ga16b69cce167bd701e56511c099fdf150"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga3b6228f47fedbf81e4a4d428a59f2ed4"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xnvm__efuse__client__apis.html#ga3b6228f47fedbf81e4a4d428a59f2ed4">XNVM_SLR_INDEX_0</a>&#160;&#160;&#160;(0U)</td></tr>
<tr class="memdesc:ga3b6228f47fedbf81e4a4d428a59f2ed4"><td class="mdescLeft">&#160;</td><td class="mdescRight">SLR Index 0.  <a href="#ga3b6228f47fedbf81e4a4d428a59f2ed4">More...</a><br/></td></tr>
<tr class="separator:ga3b6228f47fedbf81e4a4d428a59f2ed4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaa11ceca8fb47cd6c3448fd647a144a93"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xnvm__efuse__client__apis.html#gaa11ceca8fb47cd6c3448fd647a144a93">XNVM_SLR_INDEX_1</a>&#160;&#160;&#160;(1U)</td></tr>
<tr class="memdesc:gaa11ceca8fb47cd6c3448fd647a144a93"><td class="mdescLeft">&#160;</td><td class="mdescRight">SLR Index 1.  <a href="#gaa11ceca8fb47cd6c3448fd647a144a93">More...</a><br/></td></tr>
<tr class="separator:gaa11ceca8fb47cd6c3448fd647a144a93"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaab93353d8da089021e9539b33d3ce7e0"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xnvm__efuse__client__apis.html#gaab93353d8da089021e9539b33d3ce7e0">XNVM_SLR_INDEX_2</a>&#160;&#160;&#160;(2U)</td></tr>
<tr class="memdesc:gaab93353d8da089021e9539b33d3ce7e0"><td class="mdescLeft">&#160;</td><td class="mdescRight">SLR Index 2.  <a href="#gaab93353d8da089021e9539b33d3ce7e0">More...</a><br/></td></tr>
<tr class="separator:gaab93353d8da089021e9539b33d3ce7e0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gae83bff3d807531eee2767b16d00a54f4"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xnvm__efuse__client__apis.html#gae83bff3d807531eee2767b16d00a54f4">XNVM_SLR_INDEX_3</a>&#160;&#160;&#160;(3U)</td></tr>
<tr class="memdesc:gae83bff3d807531eee2767b16d00a54f4"><td class="mdescLeft">&#160;</td><td class="mdescRight">SLR Index 3.  <a href="#gae83bff3d807531eee2767b16d00a54f4">More...</a><br/></td></tr>
<tr class="separator:gae83bff3d807531eee2767b16d00a54f4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaea0d7fa1f00d844fe51451c22316b9e8"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xnvm__efuse__client__apis.html#gaea0d7fa1f00d844fe51451c22316b9e8">XNVM_WORD_LEN</a>&#160;&#160;&#160;(4U)</td></tr>
<tr class="memdesc:gaea0d7fa1f00d844fe51451c22316b9e8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Word length.  <a href="#gaea0d7fa1f00d844fe51451c22316b9e8">More...</a><br/></td></tr>
<tr class="separator:gaea0d7fa1f00d844fe51451c22316b9e8"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:gaefb1c21b807d6bb2cd0725d0bdc473af"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xnvm__efuse__client__apis.html#gaefb1c21b807d6bb2cd0725d0bdc473af">XNvm_EfuseWrite</a> (const XNvm_ClientInstance *InstancePtr, const u64 DataAddr)</td></tr>
<tr class="memdesc:gaefb1c21b807d6bb2cd0725d0bdc473af"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function sends IPI request to program eFuses with user provided data.  <a href="#gaefb1c21b807d6bb2cd0725d0bdc473af">More...</a><br/></td></tr>
<tr class="separator:gaefb1c21b807d6bb2cd0725d0bdc473af"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga7ed0e93e0e8a58ecfc5dd60e42461c15"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xnvm__efuse__client__apis.html#ga7ed0e93e0e8a58ecfc5dd60e42461c15">XNvm_EfuseWriteIVs</a> (const XNvm_ClientInstance *InstancePtr, const u64 IvAddr, const u32 EnvDisFlag)</td></tr>
<tr class="memdesc:ga7ed0e93e0e8a58ecfc5dd60e42461c15"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function sends IPI request to program IV eFuses with user provided data.  <a href="#ga7ed0e93e0e8a58ecfc5dd60e42461c15">More...</a><br/></td></tr>
<tr class="separator:ga7ed0e93e0e8a58ecfc5dd60e42461c15"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga6615e748856e15f3e2169f9413e7cbd1"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xnvm__efuse__client__apis.html#ga6615e748856e15f3e2169f9413e7cbd1">XNvm_EfuseRevokePpk</a> (const XNvm_ClientInstance *InstancePtr, const XNvm_PpkType PpkRevoke, const u32 EnvDisFlag)</td></tr>
<tr class="memdesc:ga6615e748856e15f3e2169f9413e7cbd1"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function sends IPI request to program PPK_INVLD eFuse requested by the user.  <a href="#ga6615e748856e15f3e2169f9413e7cbd1">More...</a><br/></td></tr>
<tr class="separator:ga6615e748856e15f3e2169f9413e7cbd1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gae09868a910eea80203d78873f4de064c"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xnvm__efuse__client__apis.html#gae09868a910eea80203d78873f4de064c">XNvm_EfuseWriteRevocationId</a> (const XNvm_ClientInstance *InstancePtr, const u32 RevokeId, const u32 EnvDisFlag)</td></tr>
<tr class="memdesc:gae09868a910eea80203d78873f4de064c"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function sends IPI request to program revoke id eFuses requested by the user.  <a href="#gae09868a910eea80203d78873f4de064c">More...</a><br/></td></tr>
<tr class="separator:gae09868a910eea80203d78873f4de064c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gab49aedef8afbe4faa8a842b847cece3c"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xnvm__efuse__client__apis.html#gab49aedef8afbe4faa8a842b847cece3c">XNvm_EfuseWriteUserFuses</a> (const XNvm_ClientInstance *InstancePtr, const u64 UserFuseAddr, const u32 EnvDisFlag)</td></tr>
<tr class="memdesc:gab49aedef8afbe4faa8a842b847cece3c"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function sends IPI request to program User eFuses requested by the user.  <a href="#gab49aedef8afbe4faa8a842b847cece3c">More...</a><br/></td></tr>
<tr class="separator:gab49aedef8afbe4faa8a842b847cece3c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gabbff97b78f82ae83002d64c9e4e61964"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xnvm__efuse__client__apis.html#gabbff97b78f82ae83002d64c9e4e61964">XNvm_EfuseReadIv</a> (const XNvm_ClientInstance *InstancePtr, const u64 IvAddr, const XNvm_IvType IvType)</td></tr>
<tr class="memdesc:gabbff97b78f82ae83002d64c9e4e61964"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function sends IPI request to read IV eFuses requested by the user.  <a href="#gabbff97b78f82ae83002d64c9e4e61964">More...</a><br/></td></tr>
<tr class="separator:gabbff97b78f82ae83002d64c9e4e61964"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga32e43ec62893f850f115f3ee0a5434f9"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xnvm__efuse__client__apis.html#ga32e43ec62893f850f115f3ee0a5434f9">XNvm_EfuseReadRevocationId</a> (const XNvm_ClientInstance *InstancePtr, const u64 RevokeIdAddr, const XNvm_RevocationId RevokeIdNum)</td></tr>
<tr class="memdesc:ga32e43ec62893f850f115f3ee0a5434f9"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function sends IPI request to read Revocation ID eFuses requested by the user.  <a href="#ga32e43ec62893f850f115f3ee0a5434f9">More...</a><br/></td></tr>
<tr class="separator:ga32e43ec62893f850f115f3ee0a5434f9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga1a3da417c5ca5121f4c8d375bf0ea298"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xnvm__efuse__client__apis.html#ga1a3da417c5ca5121f4c8d375bf0ea298">XNvm_EfuseReadUserFuses</a> (const XNvm_ClientInstance *InstancePtr, const u64 UserFuseAddr)</td></tr>
<tr class="memdesc:ga1a3da417c5ca5121f4c8d375bf0ea298"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function sends IPI request to read User eFuses requested by the user.  <a href="#ga1a3da417c5ca5121f4c8d375bf0ea298">More...</a><br/></td></tr>
<tr class="separator:ga1a3da417c5ca5121f4c8d375bf0ea298"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaf3ba1177b7892366982f77d32ec7ecf8"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xnvm__efuse__client__apis.html#gaf3ba1177b7892366982f77d32ec7ecf8">XNvm_EfuseReadMiscCtrlBits</a> (const XNvm_ClientInstance *InstancePtr, const u64 MiscCtrlBits)</td></tr>
<tr class="memdesc:gaf3ba1177b7892366982f77d32ec7ecf8"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function sends IPI request to read MiscCtrlBits requested by the user.  <a href="#gaf3ba1177b7892366982f77d32ec7ecf8">More...</a><br/></td></tr>
<tr class="separator:gaf3ba1177b7892366982f77d32ec7ecf8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gae6cbda607227cfb4778b66c8c2a8ebf0"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xnvm__efuse__client__apis.html#gae6cbda607227cfb4778b66c8c2a8ebf0">XNvm_EfuseReadSecCtrlBits</a> (const XNvm_ClientInstance *InstancePtr, const u64 SecCtrlBits)</td></tr>
<tr class="memdesc:gae6cbda607227cfb4778b66c8c2a8ebf0"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function sends IPI request to read SecCtrlBits requested by the user.  <a href="#gae6cbda607227cfb4778b66c8c2a8ebf0">More...</a><br/></td></tr>
<tr class="separator:gae6cbda607227cfb4778b66c8c2a8ebf0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gacc863c22d5d7a8f54f7d3cb28781a82e"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xnvm__efuse__client__apis.html#gacc863c22d5d7a8f54f7d3cb28781a82e">XNvm_EfuseReadSecMisc1Bits</a> (const XNvm_ClientInstance *InstancePtr, const u64 SecMisc1Bits)</td></tr>
<tr class="memdesc:gacc863c22d5d7a8f54f7d3cb28781a82e"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function sends IPI request to read SecMisc1Bits requested by the user.  <a href="#gacc863c22d5d7a8f54f7d3cb28781a82e">More...</a><br/></td></tr>
<tr class="separator:gacc863c22d5d7a8f54f7d3cb28781a82e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaa14ae0e8b42bf8801a510e2f31e29c88"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xnvm__efuse__client__apis.html#gaa14ae0e8b42bf8801a510e2f31e29c88">XNvm_EfuseReadBootEnvCtrlBits</a> (const XNvm_ClientInstance *InstancePtr, const u64 BootEnvCtrlBits)</td></tr>
<tr class="memdesc:gaa14ae0e8b42bf8801a510e2f31e29c88"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function sends IPI request to read BootEnvCtrlBits requested by the user.  <a href="#gaa14ae0e8b42bf8801a510e2f31e29c88">More...</a><br/></td></tr>
<tr class="separator:gaa14ae0e8b42bf8801a510e2f31e29c88"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gae98054231a90a3ded1ec82c9a011ac94"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xnvm__efuse__client__apis.html#gae98054231a90a3ded1ec82c9a011ac94">XNvm_EfuseReadPufSecCtrlBits</a> (const XNvm_ClientInstance *InstancePtr, const u64 PufSecCtrlBits)</td></tr>
<tr class="memdesc:gae98054231a90a3ded1ec82c9a011ac94"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function sends IPI request to read PufSecCtrlBits requested by the user.  <a href="#gae98054231a90a3ded1ec82c9a011ac94">More...</a><br/></td></tr>
<tr class="separator:gae98054231a90a3ded1ec82c9a011ac94"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga55a6be49ea504c9e07a532b5e82797c1"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xnvm__efuse__client__apis.html#ga55a6be49ea504c9e07a532b5e82797c1">XNvm_EfuseReadOffchipRevokeId</a> (const XNvm_ClientInstance *InstancePtr, const u64 OffChidIdAddr, const XNvm_OffchipId OffChipIdNum)</td></tr>
<tr class="memdesc:ga55a6be49ea504c9e07a532b5e82797c1"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function sends IPI request to read OffChip ID eFuses requested by the user.  <a href="#ga55a6be49ea504c9e07a532b5e82797c1">More...</a><br/></td></tr>
<tr class="separator:ga55a6be49ea504c9e07a532b5e82797c1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gad7ea5c5b0c9de1c1e6b4c2659a02ddeb"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xnvm__efuse__client__apis.html#gad7ea5c5b0c9de1c1e6b4c2659a02ddeb">XNvm_EfuseReadPpkHash</a> (const XNvm_ClientInstance *InstancePtr, const u64 PpkHashAddr, const XNvm_PpkType PpkHashType)</td></tr>
<tr class="memdesc:gad7ea5c5b0c9de1c1e6b4c2659a02ddeb"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function sends IPI request to read PpkHash requested by the user.  <a href="#gad7ea5c5b0c9de1c1e6b4c2659a02ddeb">More...</a><br/></td></tr>
<tr class="separator:gad7ea5c5b0c9de1c1e6b4c2659a02ddeb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga15ea0137369d9a81a853a6784c43b29d"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xnvm__efuse__client__apis.html#ga15ea0137369d9a81a853a6784c43b29d">XNvm_EfuseReadDecOnly</a> (const XNvm_ClientInstance *InstancePtr, const u64 DecOnlyAddr)</td></tr>
<tr class="memdesc:ga15ea0137369d9a81a853a6784c43b29d"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function sends IPI request to read DecEfuseOnly eFuses requested by the user.  <a href="#ga15ea0137369d9a81a853a6784c43b29d">More...</a><br/></td></tr>
<tr class="separator:ga15ea0137369d9a81a853a6784c43b29d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gacb7ff4ed433334fd4c7af398a6698be6"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xnvm__efuse__client__apis.html#gacb7ff4ed433334fd4c7af398a6698be6">XNvm_EfuseReadDna</a> (const XNvm_ClientInstance *InstancePtr, const u64 DnaAddr)</td></tr>
<tr class="memdesc:gacb7ff4ed433334fd4c7af398a6698be6"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function sends IPI request to read DNA eFuses requested by the user.  <a href="#gacb7ff4ed433334fd4c7af398a6698be6">More...</a><br/></td></tr>
<tr class="separator:gacb7ff4ed433334fd4c7af398a6698be6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gad260093cbe9bacb6d0f649b84bccd8a0"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xnvm__efuse__client__apis.html#gad260093cbe9bacb6d0f649b84bccd8a0">XNvm_EfuseWritePuf</a> (const XNvm_ClientInstance *InstancePtr, const u64 PufHdAddr)</td></tr>
<tr class="memdesc:gad260093cbe9bacb6d0f649b84bccd8a0"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function sends IPI request to program Puf helper data requested by the user.  <a href="#gad260093cbe9bacb6d0f649b84bccd8a0">More...</a><br/></td></tr>
<tr class="separator:gad260093cbe9bacb6d0f649b84bccd8a0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga6a1e538568cd6b7e21084eaf138a3113"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xnvm__efuse__client__apis.html#ga6a1e538568cd6b7e21084eaf138a3113">XNvm_EfuseReadPuf</a> (const XNvm_ClientInstance *InstancePtr, const u64 PufHdAddr)</td></tr>
<tr class="memdesc:ga6a1e538568cd6b7e21084eaf138a3113"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function sends IPI request to read Puf helper data requested by the user.  <a href="#ga6a1e538568cd6b7e21084eaf138a3113">More...</a><br/></td></tr>
<tr class="separator:ga6a1e538568cd6b7e21084eaf138a3113"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gac572fc5f0c58365ced7c15eeb8adec73"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xnvm__efuse__client__apis.html#gac572fc5f0c58365ced7c15eeb8adec73">XNvm_EfuseWrite</a> (XNvm_ClientInstance *InstancePtr, const u64 DataAddr)</td></tr>
<tr class="memdesc:gac572fc5f0c58365ced7c15eeb8adec73"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function sends IPI request to program eFuses with user provided data.  <a href="#gac572fc5f0c58365ced7c15eeb8adec73">More...</a><br/></td></tr>
<tr class="separator:gac572fc5f0c58365ced7c15eeb8adec73"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gac61a7d89941969baef3138718ef49163"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xnvm__efuse__client__apis.html#gac61a7d89941969baef3138718ef49163">XNvm_EfuseWriteIVs</a> (XNvm_ClientInstance *InstancePtr, const u64 IvAddr, const u32 EnvDisFlag)</td></tr>
<tr class="memdesc:gac61a7d89941969baef3138718ef49163"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function sends IPI request to program IV as requested by the user.  <a href="#gac61a7d89941969baef3138718ef49163">More...</a><br/></td></tr>
<tr class="separator:gac61a7d89941969baef3138718ef49163"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga0451643f0fb100232b825a43e98dc31f"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xnvm__efuse__client__apis.html#ga0451643f0fb100232b825a43e98dc31f">XNvm_EfuseWriteDiceUds</a> (XNvm_ClientInstance *InstancePtr, const u64 UdsAddr, const u32 EnvDisFlag)</td></tr>
<tr class="memdesc:ga0451643f0fb100232b825a43e98dc31f"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function sends IPI request to program DICE UDS.  <a href="#ga0451643f0fb100232b825a43e98dc31f">More...</a><br/></td></tr>
<tr class="separator:ga0451643f0fb100232b825a43e98dc31f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga5b4ffffd504310ff58b4d21f0308ff04"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xnvm__efuse__client__apis.html#ga5b4ffffd504310ff58b4d21f0308ff04">XNvm_WriteDmePrivateKey</a> (XNvm_ClientInstance *InstancePtr, u32 DmeKeyType, const u64 DmeKeyAddr, const u32 EnvDisFlag)</td></tr>
<tr class="memdesc:ga5b4ffffd504310ff58b4d21f0308ff04"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function sends IPI request to program encrypted DME private key.  <a href="#ga5b4ffffd504310ff58b4d21f0308ff04">More...</a><br/></td></tr>
<tr class="separator:ga5b4ffffd504310ff58b4d21f0308ff04"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga2fe80756c7fd8ac54259cb078673b929"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xnvm__efuse__client__apis.html#ga2fe80756c7fd8ac54259cb078673b929">XNvm_EfuseWriteDmeMode</a> (XNvm_ClientInstance *InstancePtr, u32 DmeMode, const u32 EnvDisFlag)</td></tr>
<tr class="memdesc:ga2fe80756c7fd8ac54259cb078673b929"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function sends IPI request to program DME mode requested by the user.  <a href="#ga2fe80756c7fd8ac54259cb078673b929">More...</a><br/></td></tr>
<tr class="separator:ga2fe80756c7fd8ac54259cb078673b929"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga0fff3a9010545e93ce2653cce3dd7cb2"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xnvm__efuse__client__apis.html#ga0fff3a9010545e93ce2653cce3dd7cb2">XNvm_EfuseWriteSecCtrlBits</a> (XNvm_ClientInstance *InstancePtr, u32 SecCtrlBits, const u32 EnvDisFlag)</td></tr>
<tr class="memdesc:ga0fff3a9010545e93ce2653cce3dd7cb2"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function sends IPI request to program Secure Control Bits requested by the user.  <a href="#ga0fff3a9010545e93ce2653cce3dd7cb2">More...</a><br/></td></tr>
<tr class="separator:ga0fff3a9010545e93ce2653cce3dd7cb2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga64be6dbb240bc0ae308f7e8463dbfbed"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xnvm__efuse__client__apis.html#ga64be6dbb240bc0ae308f7e8463dbfbed">XNvm_EfuseWritePufCtrlBits</a> (XNvm_ClientInstance *InstancePtr, u32 PufCtrlBits, const u32 EnvDisFlag)</td></tr>
<tr class="memdesc:ga64be6dbb240bc0ae308f7e8463dbfbed"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function sends IPI request to program Puf Control Bits requested by the user.  <a href="#ga64be6dbb240bc0ae308f7e8463dbfbed">More...</a><br/></td></tr>
<tr class="separator:ga64be6dbb240bc0ae308f7e8463dbfbed"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gab876f823d2385d13f6d16654464bcd4b"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xnvm__efuse__client__apis.html#gab876f823d2385d13f6d16654464bcd4b">XNvm_EfuseWriteMiscCtrlBits</a> (XNvm_ClientInstance *InstancePtr, u32 MiscCtrlBits, const u32 EnvDisFlag)</td></tr>
<tr class="memdesc:gab876f823d2385d13f6d16654464bcd4b"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function sends IPI request to program Misc Control Bits requested by the user.  <a href="#gab876f823d2385d13f6d16654464bcd4b">More...</a><br/></td></tr>
<tr class="separator:gab876f823d2385d13f6d16654464bcd4b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaaefd51d906cc8e0ab94021cc66117db7"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xnvm__efuse__client__apis.html#gaaefd51d906cc8e0ab94021cc66117db7">XNvm_EfuseWriteBootModeDis</a> (XNvm_ClientInstance *InstancePtr, u32 BootModeDisBits, const u32 EnvDisFlag)</td></tr>
<tr class="memdesc:gaaefd51d906cc8e0ab94021cc66117db7"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function sends IPI request to program BootMode disable efuse bits requested by the user.  <a href="#gaaefd51d906cc8e0ab94021cc66117db7">More...</a><br/></td></tr>
<tr class="separator:gaaefd51d906cc8e0ab94021cc66117db7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga5035ae74158206735b20af385432738a"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xnvm__efuse__client__apis.html#ga5035ae74158206735b20af385432738a">XNvm_EfuseWriteSecMisc1Bits</a> (XNvm_ClientInstance *InstancePtr, u32 SecMisc1Bits, const u32 EnvDisFlag)</td></tr>
<tr class="memdesc:ga5035ae74158206735b20af385432738a"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function sends IPI request to program Sec Misc 1 Bits requested by the user.  <a href="#ga5035ae74158206735b20af385432738a">More...</a><br/></td></tr>
<tr class="separator:ga5035ae74158206735b20af385432738a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga9bb1800b8836e8b5b93a2f3280ffd028"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xnvm__efuse__client__apis.html#ga9bb1800b8836e8b5b93a2f3280ffd028">XNvm_EfuseWriteBootEnvCtrlBits</a> (XNvm_ClientInstance *InstancePtr, u32 BootEnvCtrlBits, const u32 EnvDisFlag)</td></tr>
<tr class="memdesc:ga9bb1800b8836e8b5b93a2f3280ffd028"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function sends IPI request to program Boot Env Ctrl Bits requested by the user.  <a href="#ga9bb1800b8836e8b5b93a2f3280ffd028">More...</a><br/></td></tr>
<tr class="separator:ga9bb1800b8836e8b5b93a2f3280ffd028"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gad3821263965e76d7205032b8b37d6d2a"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xnvm__efuse__client__apis.html#gad3821263965e76d7205032b8b37d6d2a">XNvm_EfuseWriteRomRsvdBits</a> (XNvm_ClientInstance *InstancePtr, u32 RomRsvdBits, const u32 EnvDisFlag)</td></tr>
<tr class="memdesc:gad3821263965e76d7205032b8b37d6d2a"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function sends IPI request to program ROM Rsvd Bits requested by the user.  <a href="#gad3821263965e76d7205032b8b37d6d2a">More...</a><br/></td></tr>
<tr class="separator:gad3821263965e76d7205032b8b37d6d2a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga75863c5bebf00e95dff382a754c77473"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xnvm__efuse__client__apis.html#ga75863c5bebf00e95dff382a754c77473">XNvm_EfuseWriteGlitchConfigBits</a> (XNvm_ClientInstance *InstancePtr, u32 GlitchCfgBits, const u32 EnvDisFlag)</td></tr>
<tr class="memdesc:ga75863c5bebf00e95dff382a754c77473"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function sends IPI request to program Glitch Cfg Bits requested by the user.  <a href="#ga75863c5bebf00e95dff382a754c77473">More...</a><br/></td></tr>
<tr class="separator:ga75863c5bebf00e95dff382a754c77473"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga23cf0605525481bcf5f286ec6de7523e"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xnvm__efuse__client__apis.html#ga23cf0605525481bcf5f286ec6de7523e">XNvm_EfuseWritePlmUpdate</a> (XNvm_ClientInstance *InstancePtr, const u32 EnvDisFlag)</td></tr>
<tr class="memdesc:ga23cf0605525481bcf5f286ec6de7523e"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function sends IPI request to program PLM update bit.  <a href="#ga23cf0605525481bcf5f286ec6de7523e">More...</a><br/></td></tr>
<tr class="separator:ga23cf0605525481bcf5f286ec6de7523e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga3fe9a35b9f742edadd32e748601834af"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xnvm__efuse__client__apis.html#ga3fe9a35b9f742edadd32e748601834af">XNvm_EfuseWriteDecOnly</a> (XNvm_ClientInstance *InstancePtr, const u32 EnvDisFlag)</td></tr>
<tr class="memdesc:ga3fe9a35b9f742edadd32e748601834af"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function sends IPI request to program Dec Only eFuses.  <a href="#ga3fe9a35b9f742edadd32e748601834af">More...</a><br/></td></tr>
<tr class="separator:ga3fe9a35b9f742edadd32e748601834af"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaa3d72c2fc1303437a2bd30a1984e3e81"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xnvm__efuse__client__apis.html#gaa3d72c2fc1303437a2bd30a1984e3e81">XNvm_EfuseWriteFipsInfo</a> (XNvm_ClientInstance *InstancePtr, const u16 FipsMode, const u16 FipsVersion, const u32 EnvDisFlag)</td></tr>
<tr class="memdesc:gaa3d72c2fc1303437a2bd30a1984e3e81"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function sends IPI request to program FIPS info eFuses.  <a href="#gaa3d72c2fc1303437a2bd30a1984e3e81">More...</a><br/></td></tr>
<tr class="separator:gaa3d72c2fc1303437a2bd30a1984e3e81"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga1754fe500ff158eeb5f0b3309c91c623"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xnvm__efuse__client__apis.html#ga1754fe500ff158eeb5f0b3309c91c623">XNvm_EfuseWriteRevocationId</a> (XNvm_ClientInstance *InstancePtr, const u32 RevokeIdNum, const u32 EnvDisFlag)</td></tr>
<tr class="memdesc:ga1754fe500ff158eeb5f0b3309c91c623"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function sends IPI request to program Revocation Id eFuses.  <a href="#ga1754fe500ff158eeb5f0b3309c91c623">More...</a><br/></td></tr>
<tr class="separator:ga1754fe500ff158eeb5f0b3309c91c623"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gac15adc21769d673aa1e7f3bf371e9eb5"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xnvm__efuse__client__apis.html#gac15adc21769d673aa1e7f3bf371e9eb5">XNvm_EfuseWriteOffChipRevocationId</a> (XNvm_ClientInstance *InstancePtr, const u32 OffChipRevokeIdNum, const u32 EnvDisFlag)</td></tr>
<tr class="memdesc:gac15adc21769d673aa1e7f3bf371e9eb5"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function sends IPI request to program off chip Revocation Id eFuses.  <a href="#gac15adc21769d673aa1e7f3bf371e9eb5">More...</a><br/></td></tr>
<tr class="separator:gac15adc21769d673aa1e7f3bf371e9eb5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga66f2ff5082708dd36846edc278f5a08e"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xnvm__efuse__client__apis.html#ga66f2ff5082708dd36846edc278f5a08e">XNvm_EfuseWritePuf</a> (XNvm_ClientInstance *InstancePtr, const u64 PufHdAddr)</td></tr>
<tr class="memdesc:ga66f2ff5082708dd36846edc278f5a08e"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function sends IPI request to program Puf helper data requested by the user.  <a href="#ga66f2ff5082708dd36846edc278f5a08e">More...</a><br/></td></tr>
<tr class="separator:ga66f2ff5082708dd36846edc278f5a08e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga9b5fb7e19fefd6373484355119ac291d"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xnvm__efuse__client__apis.html#ga9b5fb7e19fefd6373484355119ac291d">XNvm_EfuseReadPuf</a> (XNvm_ClientInstance *InstancePtr, u64 PufHdAddr)</td></tr>
<tr class="memdesc:ga9b5fb7e19fefd6373484355119ac291d"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function sends IPI request to read Puf data from the eFUSE cache.  <a href="#ga9b5fb7e19fefd6373484355119ac291d">More...</a><br/></td></tr>
<tr class="separator:ga9b5fb7e19fefd6373484355119ac291d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga135e1963c74a2381565bd628c81720c0"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xnvm__efuse__client__apis.html#ga135e1963c74a2381565bd628c81720c0">XNvm_EfuseReadIv</a> (XNvm_ClientInstance *InstancePtr, const u64 IvAddr, const XNvm_IvType IvType)</td></tr>
<tr class="memdesc:ga135e1963c74a2381565bd628c81720c0"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function sends IPI request to read IV eFuses requested by the user.  <a href="#ga135e1963c74a2381565bd628c81720c0">More...</a><br/></td></tr>
<tr class="separator:ga135e1963c74a2381565bd628c81720c0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaba1d1f6b3110db2162dfbade9ddd0e0b"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xnvm__efuse__client__apis.html#gaba1d1f6b3110db2162dfbade9ddd0e0b">XNvm_EfuseReadRevocationId</a> (XNvm_ClientInstance *InstancePtr, const u64 RevokeIdAddr, const XNvm_RevocationId RevokeIdNum)</td></tr>
<tr class="memdesc:gaba1d1f6b3110db2162dfbade9ddd0e0b"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function sends IPI request to read Revocation ID eFuses requested by the user.  <a href="#gaba1d1f6b3110db2162dfbade9ddd0e0b">More...</a><br/></td></tr>
<tr class="separator:gaba1d1f6b3110db2162dfbade9ddd0e0b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gad7ec755ce9206a3cdb6263b452c71c29"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xnvm__efuse__client__apis.html#gad7ec755ce9206a3cdb6263b452c71c29">XNvm_EfuseReadUserFuses</a> (XNvm_ClientInstance *InstancePtr, u64 UserFuseAddr)</td></tr>
<tr class="memdesc:gad7ec755ce9206a3cdb6263b452c71c29"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function sends IPI request to read User eFuses requested by the user.  <a href="#gad7ec755ce9206a3cdb6263b452c71c29">More...</a><br/></td></tr>
<tr class="separator:gad7ec755ce9206a3cdb6263b452c71c29"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga1c35752ba6d01bc69f9d78cfddda2e82"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xnvm__efuse__client__apis.html#ga1c35752ba6d01bc69f9d78cfddda2e82">XNvm_EfuseReadMiscCtrlBits</a> (XNvm_ClientInstance *InstancePtr, const u64 MiscCtrlBits)</td></tr>
<tr class="memdesc:ga1c35752ba6d01bc69f9d78cfddda2e82"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function sends IPI request to read MiscCtrlBits requested by the user.  <a href="#ga1c35752ba6d01bc69f9d78cfddda2e82">More...</a><br/></td></tr>
<tr class="separator:ga1c35752ba6d01bc69f9d78cfddda2e82"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga898b27ad1395039d8a8e6f79c6f72fa1"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xnvm__efuse__client__apis.html#ga898b27ad1395039d8a8e6f79c6f72fa1">XNvm_EfuseReadSecCtrlBits</a> (XNvm_ClientInstance *InstancePtr, const u64 SecCtrlBits)</td></tr>
<tr class="memdesc:ga898b27ad1395039d8a8e6f79c6f72fa1"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function sends IPI request to read SecCtrlBits requested by the user.  <a href="#ga898b27ad1395039d8a8e6f79c6f72fa1">More...</a><br/></td></tr>
<tr class="separator:ga898b27ad1395039d8a8e6f79c6f72fa1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gade0feaf32fbb8bb279b71be47e838870"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xnvm__efuse__client__apis.html#gade0feaf32fbb8bb279b71be47e838870">XNvm_EfuseReadSecMisc1Bits</a> (XNvm_ClientInstance *InstancePtr, const u64 SecMisc1Bits)</td></tr>
<tr class="memdesc:gade0feaf32fbb8bb279b71be47e838870"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function sends IPI request to read SecMisc1Bits requested by the user.  <a href="#gade0feaf32fbb8bb279b71be47e838870">More...</a><br/></td></tr>
<tr class="separator:gade0feaf32fbb8bb279b71be47e838870"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gad54e3a2965d27295dc233e5e3084adf8"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xnvm__efuse__client__apis.html#gad54e3a2965d27295dc233e5e3084adf8">XNvm_EfuseReadBootEnvCtrlBits</a> (XNvm_ClientInstance *InstancePtr, const u64 BootEnvCtrlBits)</td></tr>
<tr class="memdesc:gad54e3a2965d27295dc233e5e3084adf8"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function sends IPI request to read BootEnvCtrlBits requested by the user.  <a href="#gad54e3a2965d27295dc233e5e3084adf8">More...</a><br/></td></tr>
<tr class="separator:gad54e3a2965d27295dc233e5e3084adf8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga72d33a554a48e21836973409c882919d"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xnvm__efuse__client__apis.html#ga72d33a554a48e21836973409c882919d">XNvm_EfuseReadPufSecCtrlBits</a> (XNvm_ClientInstance *InstancePtr, const u64 PufSecCtrlBits)</td></tr>
<tr class="memdesc:ga72d33a554a48e21836973409c882919d"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function sends IPI request to read PufSecCtrlBits requested by the user.  <a href="#ga72d33a554a48e21836973409c882919d">More...</a><br/></td></tr>
<tr class="separator:ga72d33a554a48e21836973409c882919d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gace5819e71d300759eee7614e4a7f9ab5"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xnvm__efuse__client__apis.html#gace5819e71d300759eee7614e4a7f9ab5">XNvm_EfuseReadOffchipRevokeId</a> (XNvm_ClientInstance *InstancePtr, const u64 OffChipIdAddr, const XNvm_OffchipId OffChipIdNum)</td></tr>
<tr class="memdesc:gace5819e71d300759eee7614e4a7f9ab5"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function sends IPI request to read OffChip ID eFuses requested by the user.  <a href="#gace5819e71d300759eee7614e4a7f9ab5">More...</a><br/></td></tr>
<tr class="separator:gace5819e71d300759eee7614e4a7f9ab5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga3e9fad7c29bb703abdad2844084da7f9"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xnvm__efuse__client__apis.html#ga3e9fad7c29bb703abdad2844084da7f9">XNvm_EfuseReadPpkHash</a> (XNvm_ClientInstance *InstancePtr, const u64 PpkHashAddr, const XNvm_PpkType PpkHashType)</td></tr>
<tr class="memdesc:ga3e9fad7c29bb703abdad2844084da7f9"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function sends IPI request to read PpkHash requested by the user.  <a href="#ga3e9fad7c29bb703abdad2844084da7f9">More...</a><br/></td></tr>
<tr class="separator:ga3e9fad7c29bb703abdad2844084da7f9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga3c6422fdd2090d7a3408337c5ab0e737"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xnvm__efuse__client__apis.html#ga3c6422fdd2090d7a3408337c5ab0e737">XNvm_EfuseReadDecOnly</a> (XNvm_ClientInstance *InstancePtr, const u64 DecOnlyAddr)</td></tr>
<tr class="memdesc:ga3c6422fdd2090d7a3408337c5ab0e737"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function sends IPI request to read DecEfuseOnly eFuses requested by the user.  <a href="#ga3c6422fdd2090d7a3408337c5ab0e737">More...</a><br/></td></tr>
<tr class="separator:ga3c6422fdd2090d7a3408337c5ab0e737"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga565100f1268558cbededcebb9b29804d"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xnvm__efuse__client__apis.html#ga565100f1268558cbededcebb9b29804d">XNvm_EfuseReadDna</a> (XNvm_ClientInstance *InstancePtr, const u64 DnaAddr)</td></tr>
<tr class="memdesc:ga565100f1268558cbededcebb9b29804d"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function sends IPI request to read DNA eFuses requested by the user.  <a href="#ga565100f1268558cbededcebb9b29804d">More...</a><br/></td></tr>
<tr class="separator:ga565100f1268558cbededcebb9b29804d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga9d3f76422408b4102f47ad332ebb3a8a"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xnvm__efuse__client__apis.html#ga9d3f76422408b4102f47ad332ebb3a8a">XNvm_EfuseReadBootModeDis</a> (XNvm_ClientInstance *InstancePtr, const u64 BootModeDisAddr)</td></tr>
<tr class="memdesc:ga9d3f76422408b4102f47ad332ebb3a8a"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function sends IPI request to read BootModeDisable eFuses requested by the user.  <a href="#ga9d3f76422408b4102f47ad332ebb3a8a">More...</a><br/></td></tr>
<tr class="separator:ga9d3f76422408b4102f47ad332ebb3a8a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gadf4cc0221b64537c48fd20e455ae0922"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xnvm__efuse__client__apis.html#gadf4cc0221b64537c48fd20e455ae0922">XNvm_EfuseReadRomRsvdBits</a> (XNvm_ClientInstance *InstancePtr, const u64 RomRsvdBits)</td></tr>
<tr class="memdesc:gadf4cc0221b64537c48fd20e455ae0922"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function sends IPI request to read RomRsvdBits requested by the user.  <a href="#gadf4cc0221b64537c48fd20e455ae0922">More...</a><br/></td></tr>
<tr class="separator:gadf4cc0221b64537c48fd20e455ae0922"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaa5cc5a2ddb36b51e0f5b160844c262e6"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xnvm__efuse__client__apis.html#gaa5cc5a2ddb36b51e0f5b160844c262e6">XNvm_EfuseReadDmeMode</a> (XNvm_ClientInstance *InstancePtr, const u64 DmeModeAddr)</td></tr>
<tr class="memdesc:gaa5cc5a2ddb36b51e0f5b160844c262e6"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function sends IPI request to read DME Mode eFuses requested by the user.  <a href="#gaa5cc5a2ddb36b51e0f5b160844c262e6">More...</a><br/></td></tr>
<tr class="separator:gaa5cc5a2ddb36b51e0f5b160844c262e6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaf63250e1f6043e6715870670a4fd1695"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xnvm__efuse__client__apis.html#gaf63250e1f6043e6715870670a4fd1695">XNvm_EfuseReadFipsInfoBits</a> (XNvm_ClientInstance *InstancePtr, const u64 FipsInfoBits)</td></tr>
<tr class="memdesc:gaf63250e1f6043e6715870670a4fd1695"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function sends IPI request to read FIPS info bits requested by the user.  <a href="#gaf63250e1f6043e6715870670a4fd1695">More...</a><br/></td></tr>
<tr class="separator:gaf63250e1f6043e6715870670a4fd1695"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Macro Definition Documentation</h2>
<a class="anchor" id="ga3b6228f47fedbf81e4a4d428a59f2ed4"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XNVM_SLR_INDEX_0&#160;&#160;&#160;(0U)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>SLR Index 0. </p>

</div>
</div>
<a class="anchor" id="gaa11ceca8fb47cd6c3448fd647a144a93"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XNVM_SLR_INDEX_1&#160;&#160;&#160;(1U)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>SLR Index 1. </p>

</div>
</div>
<a class="anchor" id="gaab93353d8da089021e9539b33d3ce7e0"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XNVM_SLR_INDEX_2&#160;&#160;&#160;(2U)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>SLR Index 2. </p>

</div>
</div>
<a class="anchor" id="gae83bff3d807531eee2767b16d00a54f4"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XNVM_SLR_INDEX_3&#160;&#160;&#160;(3U)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>SLR Index 3. </p>

</div>
</div>
<a class="anchor" id="ga16b69cce167bd701e56511c099fdf150"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XNVM_SLR_INDEX_SHIFT&#160;&#160;&#160;(6U)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>&lt; Slr index shift constant </p>
<p>SlrIndexs constants </p>

</div>
</div>
<a class="anchor" id="gaea0d7fa1f00d844fe51451c22316b9e8"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XNVM_WORD_LEN&#160;&#160;&#160;(4U)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Word length. </p>

<p>Referenced by <a class="el" href="group__xnvm__versal__net__api__ids.html#ga074ef023f48a3f5164b0bf0f6d464d5c">XNvm_EfuseCheckZeros()</a>, <a class="el" href="group__xnvm__efuse__client__apis.html#gad54e3a2965d27295dc233e5e3084adf8">XNvm_EfuseReadBootEnvCtrlBits()</a>, <a class="el" href="group__xnvm__efuse__client__apis.html#ga9d3f76422408b4102f47ad332ebb3a8a">XNvm_EfuseReadBootModeDis()</a>, <a class="el" href="group__xnvm__efuse__client__apis.html#ga3c6422fdd2090d7a3408337c5ab0e737">XNvm_EfuseReadDecOnly()</a>, <a class="el" href="group__xnvm__efuse__client__apis.html#gaa5cc5a2ddb36b51e0f5b160844c262e6">XNvm_EfuseReadDmeMode()</a>, <a class="el" href="group__xnvm__efuse__client__apis.html#ga565100f1268558cbededcebb9b29804d">XNvm_EfuseReadDna()</a>, <a class="el" href="group__xnvm__efuse__client__apis.html#gaf63250e1f6043e6715870670a4fd1695">XNvm_EfuseReadFipsInfoBits()</a>, <a class="el" href="group__xnvm__efuse__client__apis.html#ga135e1963c74a2381565bd628c81720c0">XNvm_EfuseReadIv()</a>, <a class="el" href="group__xnvm__efuse__client__apis.html#ga1c35752ba6d01bc69f9d78cfddda2e82">XNvm_EfuseReadMiscCtrlBits()</a>, <a class="el" href="group__xnvm__efuse__client__apis.html#gace5819e71d300759eee7614e4a7f9ab5">XNvm_EfuseReadOffchipRevokeId()</a>, <a class="el" href="group__xnvm__efuse__client__apis.html#ga3e9fad7c29bb703abdad2844084da7f9">XNvm_EfuseReadPpkHash()</a>, <a class="el" href="group__xnvm__efuse__client__apis.html#ga9b5fb7e19fefd6373484355119ac291d">XNvm_EfuseReadPuf()</a>, <a class="el" href="group__xnvm__efuse__client__apis.html#ga72d33a554a48e21836973409c882919d">XNvm_EfuseReadPufSecCtrlBits()</a>, <a class="el" href="group__xnvm__efuse__client__apis.html#gaba1d1f6b3110db2162dfbade9ddd0e0b">XNvm_EfuseReadRevocationId()</a>, <a class="el" href="group__xnvm__efuse__client__apis.html#gadf4cc0221b64537c48fd20e455ae0922">XNvm_EfuseReadRomRsvdBits()</a>, <a class="el" href="group__xnvm__efuse__client__apis.html#ga898b27ad1395039d8a8e6f79c6f72fa1">XNvm_EfuseReadSecCtrlBits()</a>, <a class="el" href="group__xnvm__efuse__client__apis.html#gade0feaf32fbb8bb279b71be47e838870">XNvm_EfuseReadSecMisc1Bits()</a>, <a class="el" href="group__xnvm__efuse__client__apis.html#gad7ec755ce9206a3cdb6263b452c71c29">XNvm_EfuseReadUserFuses()</a>, <a class="el" href="group__xnvm__efuse__client__apis.html#ga9bb1800b8836e8b5b93a2f3280ffd028">XNvm_EfuseWriteBootEnvCtrlBits()</a>, <a class="el" href="group__xnvm__efuse__client__apis.html#gaaefd51d906cc8e0ab94021cc66117db7">XNvm_EfuseWriteBootModeDis()</a>, <a class="el" href="group__xnvm__efuse__client__apis.html#ga3fe9a35b9f742edadd32e748601834af">XNvm_EfuseWriteDecOnly()</a>, <a class="el" href="group__xnvm__efuse__client__apis.html#ga0451643f0fb100232b825a43e98dc31f">XNvm_EfuseWriteDiceUds()</a>, <a class="el" href="group__xnvm__efuse__client__apis.html#ga2fe80756c7fd8ac54259cb078673b929">XNvm_EfuseWriteDmeMode()</a>, <a class="el" href="group__xnvm__efuse__client__apis.html#gaa3d72c2fc1303437a2bd30a1984e3e81">XNvm_EfuseWriteFipsInfo()</a>, <a class="el" href="group__xnvm__efuse__client__apis.html#ga75863c5bebf00e95dff382a754c77473">XNvm_EfuseWriteGlitchConfigBits()</a>, <a class="el" href="group__xnvm__efuse__client__apis.html#gab876f823d2385d13f6d16654464bcd4b">XNvm_EfuseWriteMiscCtrlBits()</a>, <a class="el" href="group__xnvm__efuse__client__apis.html#gac15adc21769d673aa1e7f3bf371e9eb5">XNvm_EfuseWriteOffChipRevocationId()</a>, <a class="el" href="group__xnvm__efuse__client__apis.html#ga23cf0605525481bcf5f286ec6de7523e">XNvm_EfuseWritePlmUpdate()</a>, <a class="el" href="group__xnvm__efuse__client__apis.html#ga66f2ff5082708dd36846edc278f5a08e">XNvm_EfuseWritePuf()</a>, <a class="el" href="group__xnvm__efuse__client__apis.html#ga64be6dbb240bc0ae308f7e8463dbfbed">XNvm_EfuseWritePufCtrlBits()</a>, <a class="el" href="group__xnvm__efuse__client__apis.html#ga1754fe500ff158eeb5f0b3309c91c623">XNvm_EfuseWriteRevocationId()</a>, <a class="el" href="group__xnvm__efuse__client__apis.html#gad3821263965e76d7205032b8b37d6d2a">XNvm_EfuseWriteRomRsvdBits()</a>, <a class="el" href="group__xnvm__efuse__client__apis.html#ga0fff3a9010545e93ce2653cce3dd7cb2">XNvm_EfuseWriteSecCtrlBits()</a>, <a class="el" href="group__xnvm__efuse__client__apis.html#ga5035ae74158206735b20af385432738a">XNvm_EfuseWriteSecMisc1Bits()</a>, and <a class="el" href="group__xnvm__efuse__client__apis.html#ga5b4ffffd504310ff58b4d21f0308ff04">XNvm_WriteDmePrivateKey()</a>.</p>

</div>
</div>
<h2 class="groupheader">Function Documentation</h2>
<a class="anchor" id="gaa14ae0e8b42bf8801a510e2f31e29c88"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int XNvm_EfuseReadBootEnvCtrlBits </td>
          <td>(</td>
          <td class="paramtype">const XNvm_ClientInstance *&#160;</td>
          <td class="paramname"><em>InstancePtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const u64&#160;</td>
          <td class="paramname"><em>BootEnvCtrlBits</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function sends IPI request to read BootEnvCtrlBits requested by the user. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>Pointer to the client instance </td></tr>
    <tr><td class="paramname">BootEnvCtrlBits</td><td>Address of the output buffer to store the BootEnvCtrlBits eFuses data</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li>XST_SUCCESS If the read is successful</li>
<li>XST_INVALID_PARAM If there is a input validation failure</li>
<li>XST_FAILURE If there is a failure </li>
</ul>
</dd></dl>
<p>Validate input parameters. Return XST_INVALID_PARAM, if input parameters are invalid.</p>
<p>Send read boot env ctrl CDO to PLM to read Boot Environment control bits from eFuse cache. Return XST_FAILURE if IPI request processing fails in PLM.</p>

<p>References <a class="el" href="common_2xnvm__defs_8h.html#afefb58b4bc539bff958b4da2dbdfdd15abe1ec7b0512577f37350a4482c9dc09a">XNVM_API_ID_EFUSE_READ_BOOT_ENV_CTRL_BITS</a>, <a class="el" href="group__xnvm__mailbox__apis.html#ga3ce66c6266190912ba2552c2bc1701c7">XNvm_ProcessMailbox()</a>, and <a class="el" href="group__xnvm__bbram__client__api.html#ga16b69cce167bd701e56511c099fdf150">XNVM_SLR_INDEX_SHIFT</a>.</p>

</div>
</div>
<a class="anchor" id="gad54e3a2965d27295dc233e5e3084adf8"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int XNvm_EfuseReadBootEnvCtrlBits </td>
          <td>(</td>
          <td class="paramtype">XNvm_ClientInstance *&#160;</td>
          <td class="paramname"><em>InstancePtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const u64&#160;</td>
          <td class="paramname"><em>BootEnvCtrlBits</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function sends IPI request to read BootEnvCtrlBits requested by the user. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>Pointer to the client instance </td></tr>
    <tr><td class="paramname">BootEnvCtrlBits</td><td>Address of the output buffer to store the BootEnvCtrlBits eFuses data</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li>XST_SUCCESS If the read is successful</li>
<li>ErrorCode If there is a failure </li>
</ul>
</dd></dl>
<p>Validate input parameters. Return XST_INVALID_PARAM, If input parameters are invalid.</p>
<p>Send EfuseReadBootEnvCtrlBits CDO over IPI request to the PLM. Wait for IPI response from PLM with a default timeout of 300 seconds. If the timeout exceeds then return error else return the status of the IPI response</p>

<p>References <a class="el" href="xnvm__efuseclient__hw_8h.html#a5c7db11ff489c6723ab0d1f5dfa57a6c">XNVM_EFUSE_CACHE_BOOT_ENV_CTRL_SYSMON_TEMP_EN_MASK</a>, <a class="el" href="group__xnvm__mailbox__apis.html#ga3ce66c6266190912ba2552c2bc1701c7">XNvm_ProcessMailbox()</a>, and <a class="el" href="group__xnvm__efuse__client__apis.html#gaea0d7fa1f00d844fe51451c22316b9e8">XNVM_WORD_LEN</a>.</p>

</div>
</div>
<a class="anchor" id="ga9d3f76422408b4102f47ad332ebb3a8a"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int XNvm_EfuseReadBootModeDis </td>
          <td>(</td>
          <td class="paramtype">XNvm_ClientInstance *&#160;</td>
          <td class="paramname"><em>InstancePtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const u64&#160;</td>
          <td class="paramname"><em>BootModeDisAddr</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function sends IPI request to read BootModeDisable eFuses requested by the user. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>Pointer to the client instance </td></tr>
    <tr><td class="paramname">BootModeDisAddr</td><td>Address of the output buffer to store the BootModeDisable eFuses data</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li>XST_SUCCESS If the read is successful<ul>
<li>ErrorCode If there is a failure </li>
</ul>
</li>
</ul>
</dd></dl>
<p>Validate input parameters. Return XST_INVALID_PARAM, if input parameters are invalid.</p>
<p>Send an IPI request to the PLM by using the XNVM_API_ID_EFUSE_READ_CACHE CDO command. Wait for IPI response from PLM with a default timeout of 300 seconds. If the timeout exceeds then error is returned otherwise it returns the status of the IPI response</p>

<p>References <a class="el" href="group__xnvm__mailbox__apis.html#ga3ce66c6266190912ba2552c2bc1701c7">XNvm_ProcessMailbox()</a>, and <a class="el" href="group__xnvm__efuse__client__apis.html#gaea0d7fa1f00d844fe51451c22316b9e8">XNVM_WORD_LEN</a>.</p>

</div>
</div>
<a class="anchor" id="ga15ea0137369d9a81a853a6784c43b29d"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int XNvm_EfuseReadDecOnly </td>
          <td>(</td>
          <td class="paramtype">const XNvm_ClientInstance *&#160;</td>
          <td class="paramname"><em>InstancePtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const u64&#160;</td>
          <td class="paramname"><em>DecOnlyAddr</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function sends IPI request to read DecEfuseOnly eFuses requested by the user. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>Pointer to the client instance </td></tr>
    <tr><td class="paramname">DecOnlyAddr</td><td>Address of the output buffer to store the DecEfuseOnly eFuses data</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li>XST_SUCCESS If the read is successful</li>
<li>XST_INVALID_PARAM If there is a input validation failure</li>
<li>XST_FAILURE If there is a failure </li>
</ul>
</dd></dl>
<p>Validate input parameters. Return XST_INVALID_PARAM if input parameters are invalid.</p>
<p>Send read dec_only CDO to PLM to read decrypt eFuse only bits from eFuse cache. Return XST_FAILURE if IPI request processing fails in PLM.</p>

<p>References <a class="el" href="common_2xnvm__defs_8h.html#afefb58b4bc539bff958b4da2dbdfdd15a1989104225a5241285be4ec426d7472d">XNVM_API_ID_EFUSE_READ_DEC_EFUSE_ONLY</a>, <a class="el" href="group__xnvm__mailbox__apis.html#ga3ce66c6266190912ba2552c2bc1701c7">XNvm_ProcessMailbox()</a>, and <a class="el" href="group__xnvm__bbram__client__api.html#ga16b69cce167bd701e56511c099fdf150">XNVM_SLR_INDEX_SHIFT</a>.</p>

</div>
</div>
<a class="anchor" id="ga3c6422fdd2090d7a3408337c5ab0e737"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int XNvm_EfuseReadDecOnly </td>
          <td>(</td>
          <td class="paramtype">XNvm_ClientInstance *&#160;</td>
          <td class="paramname"><em>InstancePtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const u64&#160;</td>
          <td class="paramname"><em>DecOnlyAddr</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function sends IPI request to read DecEfuseOnly eFuses requested by the user. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>Pointer to the client instance </td></tr>
    <tr><td class="paramname">DecOnlyAddr</td><td>Address of the output buffer to store the DecEfuseOnly eFuses data</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li>XST_SUCCESS If the read is successful</li>
<li>ErrorCode If there is a failure </li>
</ul>
</dd></dl>
<p>Validate input parameters. Return XST_INVALID_PARAM, if input parameters are invalid.</p>
<p>Send an IPI request to the PLM by using the XNVM_API_ID_EFUSE_READ_CACHE CDO command. Wait for IPI response from PLM with a default timeout of 300 seconds. If the timeout exceeds then error is returned otherwise it returns the status of the IPI response</p>

<p>References <a class="el" href="group__xnvm__mailbox__apis.html#ga3ce66c6266190912ba2552c2bc1701c7">XNvm_ProcessMailbox()</a>, and <a class="el" href="group__xnvm__efuse__client__apis.html#gaea0d7fa1f00d844fe51451c22316b9e8">XNVM_WORD_LEN</a>.</p>

</div>
</div>
<a class="anchor" id="gaa5cc5a2ddb36b51e0f5b160844c262e6"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int XNvm_EfuseReadDmeMode </td>
          <td>(</td>
          <td class="paramtype">XNvm_ClientInstance *&#160;</td>
          <td class="paramname"><em>InstancePtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const u64&#160;</td>
          <td class="paramname"><em>DmeModeAddr</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function sends IPI request to read DME Mode eFuses requested by the user. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>Pointer to the client instance </td></tr>
    <tr><td class="paramname">DmeModeAddr</td><td>Address of the output buffer to store the DecEfuseOnly eFuses data</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li>XST_SUCCESS If the read is successful<ul>
<li>ErrorCode If there is a failure </li>
</ul>
</li>
</ul>
</dd></dl>
<p>Validate input parameters. Return XST_INVALID_PARAM, if input parameters are invalid.</p>
<p>Send an IPI request to the PLM by using the XNVM_API_ID_EFUSE_READ_CACHE CDO command. Wait for IPI response from PLM with a default timeout of 300 seconds. If the timeout exceeds then error is returned otherwise it returns the status of the IPI response</p>

<p>References <a class="el" href="group__xnvm__mailbox__apis.html#ga3ce66c6266190912ba2552c2bc1701c7">XNvm_ProcessMailbox()</a>, and <a class="el" href="group__xnvm__efuse__client__apis.html#gaea0d7fa1f00d844fe51451c22316b9e8">XNVM_WORD_LEN</a>.</p>

</div>
</div>
<a class="anchor" id="gacb7ff4ed433334fd4c7af398a6698be6"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int XNvm_EfuseReadDna </td>
          <td>(</td>
          <td class="paramtype">const XNvm_ClientInstance *&#160;</td>
          <td class="paramname"><em>InstancePtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const u64&#160;</td>
          <td class="paramname"><em>DnaAddr</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function sends IPI request to read DNA eFuses requested by the user. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>Pointer to the client instance </td></tr>
    <tr><td class="paramname">DnaAddr</td><td>Address of the output buffer to store the DNA eFuses data</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li>XST_SUCCESS If the read is successful</li>
<li>XST_INVALID_PARAM If there is a input validation failure</li>
<li>XST_FAILURE If there is a failure </li>
</ul>
</dd></dl>
<p>Validate input parameters. Return XST_INVALID_PARAM if input parameters are invalid.</p>
<p>Send read dna CDO to PLM to read DNA bits from eFuse cache. Return XST_FAILURE if IPI request processing fails in PLM.</p>

<p>References <a class="el" href="common_2xnvm__defs_8h.html#afefb58b4bc539bff958b4da2dbdfdd15a6dc404249dd00d07a0863d8e948f47bd">XNVM_API_ID_EFUSE_READ_DNA</a>, <a class="el" href="group__xnvm__mailbox__apis.html#ga3ce66c6266190912ba2552c2bc1701c7">XNvm_ProcessMailbox()</a>, and <a class="el" href="group__xnvm__bbram__client__api.html#ga16b69cce167bd701e56511c099fdf150">XNVM_SLR_INDEX_SHIFT</a>.</p>

</div>
</div>
<a class="anchor" id="ga565100f1268558cbededcebb9b29804d"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int XNvm_EfuseReadDna </td>
          <td>(</td>
          <td class="paramtype">XNvm_ClientInstance *&#160;</td>
          <td class="paramname"><em>InstancePtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const u64&#160;</td>
          <td class="paramname"><em>DnaAddr</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function sends IPI request to read DNA eFuses requested by the user. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>Pointer to the client instance </td></tr>
    <tr><td class="paramname">DnaAddr</td><td>Address of the output buffer to store the DNA eFuses data</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li>XST_SUCCESS If the read is successful</li>
<li>ErrorCode If there is a failure </li>
</ul>
</dd></dl>
<p>Validate input parameters. Return XST_INVALID_PARAM, if input parameters are invalid.</p>
<p>Send an IPI request to the PLM by using the XNVM_API_ID_EFUSE_READ_CACHE CDO command. Wait for IPI response from PLM with a default timeout of 300 seconds. If the timeout exceeds then error is returned otherwise it returns the status of the IPI response</p>

<p>References <a class="el" href="group__xnvm__mailbox__apis.html#ga3ce66c6266190912ba2552c2bc1701c7">XNvm_ProcessMailbox()</a>, and <a class="el" href="group__xnvm__efuse__client__apis.html#gaea0d7fa1f00d844fe51451c22316b9e8">XNVM_WORD_LEN</a>.</p>

</div>
</div>
<a class="anchor" id="gaf63250e1f6043e6715870670a4fd1695"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int XNvm_EfuseReadFipsInfoBits </td>
          <td>(</td>
          <td class="paramtype">XNvm_ClientInstance *&#160;</td>
          <td class="paramname"><em>InstancePtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const u64&#160;</td>
          <td class="paramname"><em>FipsInfoBits</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function sends IPI request to read FIPS info bits requested by the user. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>Pointer to the client instance </td></tr>
    <tr><td class="paramname">FipsInfoBits</td><td>Address of the output buffer to store the RomRsvdBits eFuses data</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li>XST_SUCCESS If the read is successful</li>
<li>ErrorCode If there is a failure </li>
</ul>
</dd></dl>
<p>Perform input parameter validation on InstancePtr. Return XST_INVALID_PARAM If input parameters are invalid.</p>
<p>Send an IPI request to the PLM by using the XNVM_API_ID_EFUSE_READ_CACHE CDO command. Wait for IPI response from PLM with a default timeout of 300 seconds. If the timeout exceeds then error is returned otherwise it returns the status of the IPI response</p>
<p>Send an IPI request to the PLM by using the XNVM_API_ID_EFUSE_READ_CACHE CDO command. Wait for IPI response from PLM with a default timeout of 300 seconds. If the timeout exceeds then error is returned otherwise it returns the status of the IPI response</p>

<p>References <a class="el" href="xnvm__efuseclient__hw_8h.html#a95479077afc08899f0e3f2fb1174eddf">XNVM_EFUSE_CACHE_DME_FIPS_FIPS_MODE_MASK</a>, <a class="el" href="xnvm__efuseclient__hw_8h.html#aae0dde8301ceeecaeb0e3f722bd54e1a">XNVM_EFUSE_CACHE_IP_DISABLE_0_FIPS_VERSION_2_1_MASK</a>, <a class="el" href="group__xnvm__mailbox__apis.html#ga3ce66c6266190912ba2552c2bc1701c7">XNvm_ProcessMailbox()</a>, and <a class="el" href="group__xnvm__efuse__client__apis.html#gaea0d7fa1f00d844fe51451c22316b9e8">XNVM_WORD_LEN</a>.</p>

</div>
</div>
<a class="anchor" id="gabbff97b78f82ae83002d64c9e4e61964"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int XNvm_EfuseReadIv </td>
          <td>(</td>
          <td class="paramtype">const XNvm_ClientInstance *&#160;</td>
          <td class="paramname"><em>InstancePtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const u64&#160;</td>
          <td class="paramname"><em>IvAddr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const XNvm_IvType&#160;</td>
          <td class="paramname"><em>IvType</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function sends IPI request to read IV eFuses requested by the user. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>Pointer to the client instance </td></tr>
    <tr><td class="paramname">IvAddr</td><td>Address of the output buffer to store the IV eFuse data </td></tr>
    <tr><td class="paramname">IvType</td><td>Type of the IV to read out</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li>XST_SUCCESS If the read is successful</li>
<li>XST_INVALID_PARAM If there is a input validation failure</li>
<li>XST_FAILURE If there is a failure </li>
</ul>
</dd></dl>
<p>Validate input parameters. Return XST_INVALID_PARAM if input parameters are invalid</p>
<p>Send Read IV CDO to PLM to read user specified IV from eFuse cache. Return XST_FAILURE if IPI request processing fails in PLM.</p>

<p>References <a class="el" href="common_2xnvm__defs_8h.html#afefb58b4bc539bff958b4da2dbdfdd15a86a108201c274229518f66caef1d9d05">XNVM_API_ID_EFUSE_READ_IV</a>, <a class="el" href="group__xnvm__mailbox__apis.html#ga3ce66c6266190912ba2552c2bc1701c7">XNvm_ProcessMailbox()</a>, and <a class="el" href="group__xnvm__bbram__client__api.html#ga16b69cce167bd701e56511c099fdf150">XNVM_SLR_INDEX_SHIFT</a>.</p>

</div>
</div>
<a class="anchor" id="ga135e1963c74a2381565bd628c81720c0"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int XNvm_EfuseReadIv </td>
          <td>(</td>
          <td class="paramtype">XNvm_ClientInstance *&#160;</td>
          <td class="paramname"><em>InstancePtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const u64&#160;</td>
          <td class="paramname"><em>IvAddr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const XNvm_IvType&#160;</td>
          <td class="paramname"><em>IvType</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function sends IPI request to read IV eFuses requested by the user. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>Pointer to the client instance </td></tr>
    <tr><td class="paramname">IvAddr</td><td>Address of the output buffer to store the IV eFuse data </td></tr>
    <tr><td class="paramname">IvType</td><td>Type of the IV to read out</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li>XST_SUCCESS If the read is successful</li>
<li>ErrorCode If there is a failure </li>
</ul>
</dd></dl>
<p>Validate input parameters. Return XST_INVALID_PARAM, if input parameters are invalid.</p>
<p>Send XNvm_EfuseReadIv CDO over IPI request to the PLM. Wait for IPI response from PLM with a default timeout of 300 seconds. If the timeout exceed return error else return the status of the IPI response</p>

<p>References <a class="el" href="xnvm__efuseclient__hw_8h.html#a2bed27efcecfc1d0a6cce977bcd8d6a0">XNVM_EFUSE_CACHE_METAHEADER_IV_RANGE_0_OFFSET</a>, <a class="el" href="group__xnvm__mailbox__apis.html#ga3ce66c6266190912ba2552c2bc1701c7">XNvm_ProcessMailbox()</a>, and <a class="el" href="group__xnvm__efuse__client__apis.html#gaea0d7fa1f00d844fe51451c22316b9e8">XNVM_WORD_LEN</a>.</p>

</div>
</div>
<a class="anchor" id="gaf3ba1177b7892366982f77d32ec7ecf8"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int XNvm_EfuseReadMiscCtrlBits </td>
          <td>(</td>
          <td class="paramtype">const XNvm_ClientInstance *&#160;</td>
          <td class="paramname"><em>InstancePtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const u64&#160;</td>
          <td class="paramname"><em>MiscCtrlBits</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function sends IPI request to read MiscCtrlBits requested by the user. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>Pointer to the client instance </td></tr>
    <tr><td class="paramname">MiscCtrlBits</td><td>Address of the output buffer to store the MiscCtrlBits eFuses data</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li>XST_SUCCESS If the read is successful</li>
<li>XST_INVALID_PARAM If there is a input validation failure</li>
<li>XST_FAILURE If there is a failure </li>
</ul>
</dd></dl>
<p>Validate input parameters. Return XST_INVALID_PARAM, if input parameters are invalid.</p>
<p>Send read misc_ctrl CDO to PLM to read miscellaneous control eFuses from eFuse cache. Return XST_FAILURE if IPI request processing fails in PLM.</p>

<p>References <a class="el" href="common_2xnvm__defs_8h.html#afefb58b4bc539bff958b4da2dbdfdd15a07d2fb536ecefa505fae791760cd6794">XNVM_API_ID_EFUSE_READ_MISC_CTRL_BITS</a>, <a class="el" href="group__xnvm__mailbox__apis.html#ga3ce66c6266190912ba2552c2bc1701c7">XNvm_ProcessMailbox()</a>, and <a class="el" href="group__xnvm__bbram__client__api.html#ga16b69cce167bd701e56511c099fdf150">XNVM_SLR_INDEX_SHIFT</a>.</p>

</div>
</div>
<a class="anchor" id="ga1c35752ba6d01bc69f9d78cfddda2e82"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int XNvm_EfuseReadMiscCtrlBits </td>
          <td>(</td>
          <td class="paramtype">XNvm_ClientInstance *&#160;</td>
          <td class="paramname"><em>InstancePtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const u64&#160;</td>
          <td class="paramname"><em>MiscCtrlBits</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function sends IPI request to read MiscCtrlBits requested by the user. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>Pointer to the client instance </td></tr>
    <tr><td class="paramname">MiscCtrlBits</td><td>Address of the output buffer to store the MiscCtrlBits eFuses data</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li>XST_SUCCESS If the read is successful</li>
<li>ErrorCode If there is a failure </li>
</ul>
</dd></dl>
<p>Validate input parameters. Return XST_INVALID_PARAM, If input parameters are invalid.</p>
<p>Send EfuseReadMiscCtrlBits CDO over IPI request to the PLM. Wait for IPI response from PLM with a default timeout of 300 seconds. If the timeout exceeds then return error else return the status of the IPI response.</p>

<p>References <a class="el" href="xnvm__efuseclient__hw_8h.html#aa72c54dd6528414ea0e88155fd1dbb16">XNVM_EFUSE_CACHE_MISC_CTRL_GD_HALT_BOOT_EN_1_0_MASK</a>, <a class="el" href="group__xnvm__mailbox__apis.html#ga3ce66c6266190912ba2552c2bc1701c7">XNvm_ProcessMailbox()</a>, and <a class="el" href="group__xnvm__efuse__client__apis.html#gaea0d7fa1f00d844fe51451c22316b9e8">XNVM_WORD_LEN</a>.</p>

</div>
</div>
<a class="anchor" id="ga55a6be49ea504c9e07a532b5e82797c1"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int XNvm_EfuseReadOffchipRevokeId </td>
          <td>(</td>
          <td class="paramtype">const XNvm_ClientInstance *&#160;</td>
          <td class="paramname"><em>InstancePtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const u64&#160;</td>
          <td class="paramname"><em>OffChidIdAddr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const XNvm_OffchipId&#160;</td>
          <td class="paramname"><em>OffChipIdNum</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function sends IPI request to read OffChip ID eFuses requested by the user. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>Pointer to the client instance </td></tr>
    <tr><td class="paramname">OffChidIdAddr</td><td>Address of the output buffer to store the OffChip ID eFuse data </td></tr>
    <tr><td class="paramname">OffChipIdNum</td><td>OffChip ID number to be read out</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li>XST_SUCCESS If the read is successful</li>
<li>XST_INVALID_PARAM If there is a input validation failure</li>
<li>XST_FAILURE If there is a failure </li>
</ul>
</dd></dl>
<p>Validate input parameters. Return XST_INVALID_PARAM if input parameters are invalid.</p>
<p>Send read Offchip revoke CDO to PLM to read user specified Offchip revoke registers from eFuse cache. Return XST_FAILURE if IPI request processing fails in PLM.</p>

<p>References <a class="el" href="common_2xnvm__defs_8h.html#afefb58b4bc539bff958b4da2dbdfdd15ab4a9b4f2c0e6dd2e74fd03816b70d127">XNVM_API_ID_EFUSE_READ_OFFCHIP_REVOCATION_ID</a>, <a class="el" href="group__xnvm__mailbox__apis.html#ga3ce66c6266190912ba2552c2bc1701c7">XNvm_ProcessMailbox()</a>, and <a class="el" href="group__xnvm__bbram__client__api.html#ga16b69cce167bd701e56511c099fdf150">XNVM_SLR_INDEX_SHIFT</a>.</p>

</div>
</div>
<a class="anchor" id="gace5819e71d300759eee7614e4a7f9ab5"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int XNvm_EfuseReadOffchipRevokeId </td>
          <td>(</td>
          <td class="paramtype">XNvm_ClientInstance *&#160;</td>
          <td class="paramname"><em>InstancePtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const u64&#160;</td>
          <td class="paramname"><em>OffChipIdAddr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const XNvm_OffchipId&#160;</td>
          <td class="paramname"><em>OffChipIdNum</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function sends IPI request to read OffChip ID eFuses requested by the user. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>Pointer to the client instance </td></tr>
    <tr><td class="paramname">OffChipIdAddr</td><td>Address of the output buffer to store the OffChip ID eFuse data </td></tr>
    <tr><td class="paramname">OffChipIdNum</td><td>OffChip ID number to be read out</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li>XST_SUCCESS If the read is successful</li>
<li>ErrorCode If there is a failure </li>
</ul>
</dd></dl>
<p>Validate input parameters. Return XST_INVALID_PARAM, if input parameters are invalid.</p>
<p>Send EfuseReadOffchipRevokeId CDO over IPI request to the PLM. Wait for IPI response from PLM with a default timeout of 300 seconds. If the timeout exceeds then return error else return the status of the IPI response.</p>

<p>References <a class="el" href="group__xnvm__mailbox__apis.html#ga3ce66c6266190912ba2552c2bc1701c7">XNvm_ProcessMailbox()</a>, and <a class="el" href="group__xnvm__efuse__client__apis.html#gaea0d7fa1f00d844fe51451c22316b9e8">XNVM_WORD_LEN</a>.</p>

</div>
</div>
<a class="anchor" id="gad7ea5c5b0c9de1c1e6b4c2659a02ddeb"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int XNvm_EfuseReadPpkHash </td>
          <td>(</td>
          <td class="paramtype">const XNvm_ClientInstance *&#160;</td>
          <td class="paramname"><em>InstancePtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const u64&#160;</td>
          <td class="paramname"><em>PpkHashAddr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const XNvm_PpkType&#160;</td>
          <td class="paramname"><em>PpkHashType</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function sends IPI request to read PpkHash requested by the user. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>Pointer to the client instance </td></tr>
    <tr><td class="paramname">PpkHashAddr</td><td>Address of the output buffer to store the PpkHashAddr eFuses data </td></tr>
    <tr><td class="paramname">PpkHashType</td><td>Type of the PpkHash to be read out</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li>XST_SUCCESS If the read is successful</li>
<li>XST_INVALID_PARAM If there is a input validation failure</li>
<li>XST_FAILURE If there is a failure </li>
</ul>
</dd></dl>
<p>Validate input parameters. Return XST_INVALID_PARAM, if input parameters are invalid.</p>
<p>Send read ppk hash CDO to PLM to read user specified PPK from eFuse cache. Return XST_FAILURE if IPI request processing fails in PLM.</p>

<p>References <a class="el" href="common_2xnvm__defs_8h.html#afefb58b4bc539bff958b4da2dbdfdd15a9ede9ca1e9dc57f447ac91e8961901b9">XNVM_API_ID_EFUSE_READ_PPK_HASH</a>, <a class="el" href="group__xnvm__mailbox__apis.html#ga3ce66c6266190912ba2552c2bc1701c7">XNvm_ProcessMailbox()</a>, and <a class="el" href="group__xnvm__bbram__client__api.html#ga16b69cce167bd701e56511c099fdf150">XNVM_SLR_INDEX_SHIFT</a>.</p>

</div>
</div>
<a class="anchor" id="ga3e9fad7c29bb703abdad2844084da7f9"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int XNvm_EfuseReadPpkHash </td>
          <td>(</td>
          <td class="paramtype">XNvm_ClientInstance *&#160;</td>
          <td class="paramname"><em>InstancePtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const u64&#160;</td>
          <td class="paramname"><em>PpkHashAddr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const XNvm_PpkType&#160;</td>
          <td class="paramname"><em>PpkHashType</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function sends IPI request to read PpkHash requested by the user. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>Pointer to the client instance </td></tr>
    <tr><td class="paramname">PpkHashAddr</td><td>Address of the output buffer to store the PpkHashAddr eFuses data </td></tr>
    <tr><td class="paramname">PpkHashType</td><td>Type of the PpkHash to be read out</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li>XST_SUCCESS If the read is successful</li>
<li>ErrorCode If there is a failure </li>
</ul>
</dd></dl>
<p>Validate input parameters. Return XST_INVALID_PARAM, if input parameters are invalid.</p>
<p>Send EfuseReadPpkHash CDO over IPI request to the PLM. Wait for IPI response from PLM with a default timeout of 300 seconds. If the timeout exceeds then return error else return the status of the IPI response.</p>

<p>References <a class="el" href="group__xnvm__mailbox__apis.html#ga3ce66c6266190912ba2552c2bc1701c7">XNvm_ProcessMailbox()</a>, and <a class="el" href="group__xnvm__efuse__client__apis.html#gaea0d7fa1f00d844fe51451c22316b9e8">XNVM_WORD_LEN</a>.</p>

</div>
</div>
<a class="anchor" id="ga9b5fb7e19fefd6373484355119ac291d"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int XNvm_EfuseReadPuf </td>
          <td>(</td>
          <td class="paramtype">XNvm_ClientInstance *&#160;</td>
          <td class="paramname"><em>InstancePtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u64&#160;</td>
          <td class="paramname"><em>PufHdAddr</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function sends IPI request to read Puf data from the eFUSE cache. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>Pointer to the client instance </td></tr>
    <tr><td class="paramname">PufHdAddr</td><td>Address of the <a class="el" href="struct_x_nvm___efuse_puf_hd_addr.html" title="&lt; Puf helper data ">XNvm_EfusePufHdAddr</a> structure where the user provided helper data to be programmed</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li>XST_SUCCESS If the programming is successful</li>
<li>ErrorCode If there is a failure </li>
</ul>
</dd></dl>
<p>Validate input parameters. Return XST_INVALID_PARAM, if input parameters are invalid.</p>
<p>Read Puf helper data.</p>
<p>Read Puf Chash.</p>
<p>Read Puf Aux data.</p>
<p>Read RO Swap.</p>
<p>Send XNvm_EfuseReadPuf CDO over IPI request to the PLM. Wait for IPI response from PLM with a default timeout of 300 seconds. If the timeout exceeds then return error else return the status of the IPI response.</p>

<p>References <a class="el" href="struct_x_nvm___efuse_puf_hd_addr.html#aa27d5685b25ef0234488570da2fe5a60">XNvm_EfusePufHdAddr::Aux</a>, <a class="el" href="struct_x_nvm___efuse_puf_hd_addr.html#ad03593176be0624439372f1424511175">XNvm_EfusePufHdAddr::Chash</a>, <a class="el" href="struct_x_nvm___efuse_puf_hd_addr.html#a3a0c0de72cfec459c2784fb72b9f3ebe">XNvm_EfusePufHdAddr::EfuseSynData</a>, <a class="el" href="group__xnvm__mailbox__apis.html#ga3ce66c6266190912ba2552c2bc1701c7">XNvm_ProcessMailbox()</a>, <a class="el" href="versal__gen_2versal_2server_2xnvm__efuse_8h.html#a93c0329067f591b0540f4d1e5bb27673">XNVM_PUF_FORMATTED_SYN_DATA_LEN_IN_WORDS</a>, and <a class="el" href="group__xnvm__efuse__client__apis.html#gaea0d7fa1f00d844fe51451c22316b9e8">XNVM_WORD_LEN</a>.</p>

</div>
</div>
<a class="anchor" id="ga6a1e538568cd6b7e21084eaf138a3113"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int XNvm_EfuseReadPuf </td>
          <td>(</td>
          <td class="paramtype">const XNvm_ClientInstance *&#160;</td>
          <td class="paramname"><em>InstancePtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const u64&#160;</td>
          <td class="paramname"><em>PufHdAddr</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function sends IPI request to read Puf helper data requested by the user. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>Pointer to the client instance </td></tr>
    <tr><td class="paramname">PufHdAddr</td><td>Address of the output buffer to store the Puf helper data</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li>XST_SUCCESS If the read is successful</li>
<li>XST_INVALID_PARAM If there is a input validation failure</li>
<li>XST_FAILURE If there is a failure </li>
</ul>
</dd></dl>
<p>Validate input parameters. Return XST_INVALID_PARAM if input parameters are invalid.</p>
<p>Send read puf CDO to PLM to read PUF helper data from eFuse cache. Return XST_FAILURE if IPI request processing fails in PLM.</p>

<p>References <a class="el" href="common_2xnvm__defs_8h.html#afefb58b4bc539bff958b4da2dbdfdd15a2d1b4af1814790948d3f5b077957b00b">XNVM_API_ID_EFUSE_READ_PUF</a>, <a class="el" href="group__xnvm__mailbox__apis.html#ga3ce66c6266190912ba2552c2bc1701c7">XNvm_ProcessMailbox()</a>, and <a class="el" href="group__xnvm__bbram__client__api.html#ga16b69cce167bd701e56511c099fdf150">XNVM_SLR_INDEX_SHIFT</a>.</p>

</div>
</div>
<a class="anchor" id="gae98054231a90a3ded1ec82c9a011ac94"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int XNvm_EfuseReadPufSecCtrlBits </td>
          <td>(</td>
          <td class="paramtype">const XNvm_ClientInstance *&#160;</td>
          <td class="paramname"><em>InstancePtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const u64&#160;</td>
          <td class="paramname"><em>PufSecCtrlBits</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function sends IPI request to read PufSecCtrlBits requested by the user. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>Pointer to the client instance </td></tr>
    <tr><td class="paramname">PufSecCtrlBits</td><td>Address of the output buffer to store the PufSecCtrlBits eFuses data</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li>XST_SUCCESS If the read is successful</li>
<li>XST_INVALID_PARAM If there is a input validation failure</li>
<li>XST_FAILURE If there is a failure </li>
</ul>
</dd></dl>
<p>Validate input parameters. Return XST_INVALID_PARAM if input parameters are invalid.</p>
<p>Send read puf ctrl CDO to PLM to read user specified Puf security control eFuses from eFuse cache. Return XST_FAILURE if IPI request processing fails in PLM.</p>

<p>References <a class="el" href="common_2xnvm__defs_8h.html#afefb58b4bc539bff958b4da2dbdfdd15a0944844aa13b7f24ba401f8e53e6a120">XNVM_API_ID_EFUSE_READ_PUF_SEC_CTRL_BITS</a>, <a class="el" href="group__xnvm__mailbox__apis.html#ga3ce66c6266190912ba2552c2bc1701c7">XNvm_ProcessMailbox()</a>, and <a class="el" href="group__xnvm__bbram__client__api.html#ga16b69cce167bd701e56511c099fdf150">XNVM_SLR_INDEX_SHIFT</a>.</p>

</div>
</div>
<a class="anchor" id="ga72d33a554a48e21836973409c882919d"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int XNvm_EfuseReadPufSecCtrlBits </td>
          <td>(</td>
          <td class="paramtype">XNvm_ClientInstance *&#160;</td>
          <td class="paramname"><em>InstancePtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const u64&#160;</td>
          <td class="paramname"><em>PufSecCtrlBits</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function sends IPI request to read PufSecCtrlBits requested by the user. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>Pointer to the client instance </td></tr>
    <tr><td class="paramname">PufSecCtrlBits</td><td>Address of the output buffer to store the PufSecCtrlBits eFuses data</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li>XST_SUCCESS If the read is successful</li>
<li>ErrorCode If there is a failure </li>
</ul>
</dd></dl>
<p>Validate input parameters. Return XST_INVALID_PARAM, if input parameters are invalid.</p>
<p>Send EfuseReadPufSecCtrlBits CDO over IPI request to the PLM. Wait for IPI response from PLM with a default timeout of 300 seconds. If the timeout exceeds then return error else return the status of the IPI response.</p>

<p>References <a class="el" href="xnvm__efuseclient__hw_8h.html#a99b0b516216240440e5bb4fbf3f05d78">XNVM_EFUSE_CACHE_PUF_ECC_PUF_CTRL_REGEN_DIS_MASK</a>, <a class="el" href="group__xnvm__mailbox__apis.html#ga3ce66c6266190912ba2552c2bc1701c7">XNvm_ProcessMailbox()</a>, and <a class="el" href="group__xnvm__efuse__client__apis.html#gaea0d7fa1f00d844fe51451c22316b9e8">XNVM_WORD_LEN</a>.</p>

</div>
</div>
<a class="anchor" id="ga32e43ec62893f850f115f3ee0a5434f9"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int XNvm_EfuseReadRevocationId </td>
          <td>(</td>
          <td class="paramtype">const XNvm_ClientInstance *&#160;</td>
          <td class="paramname"><em>InstancePtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const u64&#160;</td>
          <td class="paramname"><em>RevokeIdAddr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const XNvm_RevocationId&#160;</td>
          <td class="paramname"><em>RevokeIdNum</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function sends IPI request to read Revocation ID eFuses requested by the user. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>Pointer to the client instance </td></tr>
    <tr><td class="paramname">RevokeIdAddr</td><td>Address of the output buffer to store the Revocation ID eFuse data </td></tr>
    <tr><td class="paramname">RevokeIdNum</td><td>Revocation ID to be read out</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li>XST_SUCCESS If the read is successful</li>
<li>XST_INVALID_PARAM If there is a input validation failure</li>
<li>XST_FAILURE If there is a failure </li>
</ul>
</dd></dl>
<p>Validate input parameters. Return XST_INVALID_PARAM, if input parameters are invalid.</p>
<p>Send read revocation id CDO to PLM to read user specified Revocation ID from eFuse cache. Return XST_FAILURE if IPI request processing fails in PLM.</p>

<p>References <a class="el" href="common_2xnvm__defs_8h.html#afefb58b4bc539bff958b4da2dbdfdd15a5eaf576c3b00d23c6750333f5960211d">XNVM_API_ID_EFUSE_READ_REVOCATION_ID</a>, <a class="el" href="group__xnvm__mailbox__apis.html#ga3ce66c6266190912ba2552c2bc1701c7">XNvm_ProcessMailbox()</a>, and <a class="el" href="group__xnvm__bbram__client__api.html#ga16b69cce167bd701e56511c099fdf150">XNVM_SLR_INDEX_SHIFT</a>.</p>

</div>
</div>
<a class="anchor" id="gaba1d1f6b3110db2162dfbade9ddd0e0b"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int XNvm_EfuseReadRevocationId </td>
          <td>(</td>
          <td class="paramtype">XNvm_ClientInstance *&#160;</td>
          <td class="paramname"><em>InstancePtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const u64&#160;</td>
          <td class="paramname"><em>RevokeIdAddr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const XNvm_RevocationId&#160;</td>
          <td class="paramname"><em>RevokeIdNum</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function sends IPI request to read Revocation ID eFuses requested by the user. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>Pointer to the client instance </td></tr>
    <tr><td class="paramname">RevokeIdAddr</td><td>Address of the output buffer to store the Revocation ID eFuse data </td></tr>
    <tr><td class="paramname">RevokeIdNum</td><td>Revocation ID to be read out</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li>XST_SUCCESS If the read is successful</li>
<li>ErrorCode If there is a failure </li>
</ul>
</dd></dl>
<p>Validate input parameters. Return XST_INVALID_PARAM, if input parameters are invalid.</p>
<p>Send XNvm_EfuseReadRevocationId CDO over IPI request to the PLM. Wait for IPI response from PLM with a default timeout of 300 seconds. If the timeout exceeds return error else return the status of the IPI response.</p>

<p>References <a class="el" href="group__xnvm__mailbox__apis.html#ga3ce66c6266190912ba2552c2bc1701c7">XNvm_ProcessMailbox()</a>, and <a class="el" href="group__xnvm__efuse__client__apis.html#gaea0d7fa1f00d844fe51451c22316b9e8">XNVM_WORD_LEN</a>.</p>

</div>
</div>
<a class="anchor" id="gadf4cc0221b64537c48fd20e455ae0922"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int XNvm_EfuseReadRomRsvdBits </td>
          <td>(</td>
          <td class="paramtype">XNvm_ClientInstance *&#160;</td>
          <td class="paramname"><em>InstancePtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const u64&#160;</td>
          <td class="paramname"><em>RomRsvdBits</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function sends IPI request to read RomRsvdBits requested by the user. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>Pointer to the client instance </td></tr>
    <tr><td class="paramname">RomRsvdBits</td><td>Address of the output buffer to store the RomRsvdBits eFuses data</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li>XST_SUCCESS If the read is successful<ul>
<li>ErrorCode If there is a failure </li>
</ul>
</li>
</ul>
</dd></dl>
<p>Perform input parameter validation on InstancePtr. Return XST_INVALID_PARAM If input parameters are invalid.</p>
<p>Send an IPI request to the PLM by using the XNVM_API_ID_EFUSE_READ_CACHE CDO command. Wait for IPI response from PLM with a default timeout of 300 seconds. If the timeout exceeds then error is returned otherwise it returns the status of the IPI response</p>

<p>References <a class="el" href="xnvm__efuseclient__hw_8h.html#a73cf0161e08f2ad93381a8e3ab45e04b">XNVM_EFUSE_CACHE_ROM_RSVD_PLM_UPDATE_MASK</a>, <a class="el" href="group__xnvm__mailbox__apis.html#ga3ce66c6266190912ba2552c2bc1701c7">XNvm_ProcessMailbox()</a>, and <a class="el" href="group__xnvm__efuse__client__apis.html#gaea0d7fa1f00d844fe51451c22316b9e8">XNVM_WORD_LEN</a>.</p>

</div>
</div>
<a class="anchor" id="gae6cbda607227cfb4778b66c8c2a8ebf0"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int XNvm_EfuseReadSecCtrlBits </td>
          <td>(</td>
          <td class="paramtype">const XNvm_ClientInstance *&#160;</td>
          <td class="paramname"><em>InstancePtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const u64&#160;</td>
          <td class="paramname"><em>SecCtrlBits</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function sends IPI request to read SecCtrlBits requested by the user. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>Pointer to the client instance </td></tr>
    <tr><td class="paramname">SecCtrlBits</td><td>Address of the output buffer to store the SecCtrlBits eFuses data</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li>XST_SUCCESS If the read is successful</li>
<li>XST_INVALID_PARAM If there is a input validation failure</li>
<li>XST_FAILURE If there is a failure </li>
</ul>
</dd></dl>
<p>Validate input parameters. Return XST_INVALID_PARAM, if input parameters are invalid.</p>
<p>Send read sec_ctrl CDO to PLM to read security control eFuses from eFuse cache. Return XST_FAILURE if IPI request processing fails in PLM.</p>

<p>References <a class="el" href="common_2xnvm__defs_8h.html#afefb58b4bc539bff958b4da2dbdfdd15ab262c355b25fcadb900261ffc1002a70">XNVM_API_ID_EFUSE_READ_SEC_CTRL_BITS</a>, <a class="el" href="group__xnvm__mailbox__apis.html#ga3ce66c6266190912ba2552c2bc1701c7">XNvm_ProcessMailbox()</a>, and <a class="el" href="group__xnvm__bbram__client__api.html#ga16b69cce167bd701e56511c099fdf150">XNVM_SLR_INDEX_SHIFT</a>.</p>

</div>
</div>
<a class="anchor" id="ga898b27ad1395039d8a8e6f79c6f72fa1"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int XNvm_EfuseReadSecCtrlBits </td>
          <td>(</td>
          <td class="paramtype">XNvm_ClientInstance *&#160;</td>
          <td class="paramname"><em>InstancePtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const u64&#160;</td>
          <td class="paramname"><em>SecCtrlBits</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function sends IPI request to read SecCtrlBits requested by the user. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>Pointer to the client instance </td></tr>
    <tr><td class="paramname">SecCtrlBits</td><td>Address of the output buffer to store the SecCtrlBits eFuses data</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li>XST_SUCCESS If the read is successful</li>
<li>ErrorCode If there is a failure </li>
</ul>
</dd></dl>
<p>Validate input parameters. Return XST_INVALID_PARAM, if input parameters are invalid.</p>
<p>Send EfuseReadSecCtrlBits CDO over IPI request to the PLM. Wait for IPI response from PLM with a default timeout of 300 seconds. If the timeout exceeds then return error else return the status of the IPI response.</p>

<p>References <a class="el" href="xnvm__efuseclient__hw_8h.html#ab8eee934e5e4800d305536e4936b1073">XNVM_EFUSE_CACHE_SECURITY_CONTROL_REG_INIT_DIS_1_0_MASK</a>, <a class="el" href="group__xnvm__mailbox__apis.html#ga3ce66c6266190912ba2552c2bc1701c7">XNvm_ProcessMailbox()</a>, and <a class="el" href="group__xnvm__efuse__client__apis.html#gaea0d7fa1f00d844fe51451c22316b9e8">XNVM_WORD_LEN</a>.</p>

</div>
</div>
<a class="anchor" id="gacc863c22d5d7a8f54f7d3cb28781a82e"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int XNvm_EfuseReadSecMisc1Bits </td>
          <td>(</td>
          <td class="paramtype">const XNvm_ClientInstance *&#160;</td>
          <td class="paramname"><em>InstancePtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const u64&#160;</td>
          <td class="paramname"><em>SecMisc1Bits</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function sends IPI request to read SecMisc1Bits requested by the user. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>Pointer to the client instance </td></tr>
    <tr><td class="paramname">SecMisc1Bits</td><td>Address of the output buffer to store the SecMisc1Bits eFuses data</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li>XST_SUCCESS If the read is successful</li>
<li>XST_INVALID_PARAM If there is a input validation failure</li>
<li>XST_FAILURE If there is a failure </li>
</ul>
</dd></dl>
<p>Validate input parameters. Return XST_INVALID_PARAM, if input parameters are invalid.</p>
<p>Send read misc1 ctrl CDO to PLM to read security and miscellaneous 1 control from eFuse cache. Return XST_FAILURE, if IPI request processing fails in PLM.</p>

<p>References <a class="el" href="common_2xnvm__defs_8h.html#afefb58b4bc539bff958b4da2dbdfdd15a688ce960e05abcaa2305ba3ac62388d4">XNVM_API_ID_EFUSE_READ_SEC_MISC1_BITS</a>, <a class="el" href="group__xnvm__mailbox__apis.html#ga3ce66c6266190912ba2552c2bc1701c7">XNvm_ProcessMailbox()</a>, and <a class="el" href="group__xnvm__bbram__client__api.html#ga16b69cce167bd701e56511c099fdf150">XNVM_SLR_INDEX_SHIFT</a>.</p>

</div>
</div>
<a class="anchor" id="gade0feaf32fbb8bb279b71be47e838870"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int XNvm_EfuseReadSecMisc1Bits </td>
          <td>(</td>
          <td class="paramtype">XNvm_ClientInstance *&#160;</td>
          <td class="paramname"><em>InstancePtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const u64&#160;</td>
          <td class="paramname"><em>SecMisc1Bits</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function sends IPI request to read SecMisc1Bits requested by the user. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>Pointer to the client instance </td></tr>
    <tr><td class="paramname">SecMisc1Bits</td><td>Address of the output buffer to store the SecMisc1Bits eFuses data</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li>XST_SUCCESS If the read is successful</li>
<li>ErrorCode If there is a failure </li>
</ul>
</dd></dl>
<p>Perform input parameter validation on InstancePtr. Return XST_INVALID_PARAM, if input parameters are invalid.</p>
<p>Send EfuseReadSecMisc1Bits CDO over IPI request to the PLM. Wait for IPI response from PLM with a default timeout of 300 seconds. If the timeout exceeds then return error else return status of the IPI response.</p>

<p>References <a class="el" href="xnvm__efuseclient__hw_8h.html#a4ca2f39e91a7754c18443b34c34f3b53">XNVM_EFUSE_CACHE_SEC_MISC_1_LPD_MBIST_EN_2_0_MASK</a>, <a class="el" href="group__xnvm__mailbox__apis.html#ga3ce66c6266190912ba2552c2bc1701c7">XNvm_ProcessMailbox()</a>, and <a class="el" href="group__xnvm__efuse__client__apis.html#gaea0d7fa1f00d844fe51451c22316b9e8">XNVM_WORD_LEN</a>.</p>

</div>
</div>
<a class="anchor" id="ga1a3da417c5ca5121f4c8d375bf0ea298"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int XNvm_EfuseReadUserFuses </td>
          <td>(</td>
          <td class="paramtype">const XNvm_ClientInstance *&#160;</td>
          <td class="paramname"><em>InstancePtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const u64&#160;</td>
          <td class="paramname"><em>UserFuseAddr</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function sends IPI request to read User eFuses requested by the user. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>Pointer to the client instance </td></tr>
    <tr><td class="paramname">UserFuseAddr</td><td>Address of the output buffer to store the User eFuse data</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li>XST_SUCCESS If the read is successful</li>
<li>XST_INVALID_PARAM If there is a input validation failure</li>
<li>XST_FAILURE If there is a failure </li>
</ul>
</dd></dl>
<p>Validate input parameters. Return XST_INVALID_PARAM, if input parameters are invalid.</p>
<p>Send read use efuses CDO to PLM to read user specified user eFuses from eFuse cache. Return XST_FAILURE if IPI request processing fails in PLM.</p>

<p>References <a class="el" href="common_2xnvm__defs_8h.html#afefb58b4bc539bff958b4da2dbdfdd15aae258f735541002955695d49852baf08">XNVM_API_ID_EFUSE_READ_USER_FUSES</a>, <a class="el" href="group__xnvm__mailbox__apis.html#ga3ce66c6266190912ba2552c2bc1701c7">XNvm_ProcessMailbox()</a>, and <a class="el" href="group__xnvm__bbram__client__api.html#ga16b69cce167bd701e56511c099fdf150">XNVM_SLR_INDEX_SHIFT</a>.</p>

</div>
</div>
<a class="anchor" id="gad7ec755ce9206a3cdb6263b452c71c29"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int XNvm_EfuseReadUserFuses </td>
          <td>(</td>
          <td class="paramtype">XNvm_ClientInstance *&#160;</td>
          <td class="paramname"><em>InstancePtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u64&#160;</td>
          <td class="paramname"><em>UserFuseAddr</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function sends IPI request to read User eFuses requested by the user. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>Pointer to the client instance </td></tr>
    <tr><td class="paramname">UserFuseAddr</td><td>Address of the output buffer to store the User eFuse data</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li>XST_SUCCESS If the read is successful</li>
<li>ErrorCode If there is a failure </li>
</ul>
</dd></dl>
<p>Validate input parameters. Return XST_INVALID_PARAM, if input parameters are invalid.</p>
<p>Send XNvm_EfuseReadUserFuses CDO over IPI request to the PLM. Wait for IPI response from PLM with a default timeout of 300 seconds. If the timeout exceeds return error else return the status of the IPI response.</p>

<p>References <a class="el" href="group__xnvm__versal__net__api__ids.html#ga05cd2825902d18394a7ba8c56c5342b6">XNvm_IsDmeModeEn()</a>, <a class="el" href="group__xnvm__mailbox__apis.html#ga3ce66c6266190912ba2552c2bc1701c7">XNvm_ProcessMailbox()</a>, and <a class="el" href="group__xnvm__efuse__client__apis.html#gaea0d7fa1f00d844fe51451c22316b9e8">XNVM_WORD_LEN</a>.</p>

</div>
</div>
<a class="anchor" id="ga6615e748856e15f3e2169f9413e7cbd1"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int XNvm_EfuseRevokePpk </td>
          <td>(</td>
          <td class="paramtype">const XNvm_ClientInstance *&#160;</td>
          <td class="paramname"><em>InstancePtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const XNvm_PpkType&#160;</td>
          <td class="paramname"><em>PpkRevoke</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const u32&#160;</td>
          <td class="paramname"><em>EnvDisFlag</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function sends IPI request to program PPK_INVLD eFuse requested by the user. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>Pointer to the client instance </td></tr>
    <tr><td class="paramname">PpkRevoke</td><td>Type of PPK_INVLD to be revoked </td></tr>
    <tr><td class="paramname">EnvDisFlag</td><td>Flag that tells whether to enable/disable Environmental monitoring in XilNvm</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li>XST_SUCCESS If the programming is successful</li>
<li>XST_INVALID_PARAM If there is a input validation failure</li>
<li>XST_FAILURE If there is a failure </li>
</ul>
</dd></dl>
<p>Validate input parameters. Return XST_INVALID_PARAM if input parameters are invalid.</p>
<p>Link shared memory for IPI usage. If shared memory is not assigned return XST_FAILURE.</p>
<p>Zeroize the shared memory.</p>
<p>Sends CDO to PLM to write eFuses to revoke the user specified PPK. Return XST_FAILURE if IPI request not success</p>

<p>References <a class="el" href="common_2xnvm__defs_8h.html#afefb58b4bc539bff958b4da2dbdfdd15af801fea29fd664f33d2499795991be50">XNVM_API_ID_EFUSE_WRITE</a>, <a class="el" href="common_2xnvm__defs_8h.html#acb09e3a1953594cf9c5583d9fdfc9066">XNvm_DCacheFlushRange</a>, <a class="el" href="group__xnvm__mailbox__apis.html#ga3ce66c6266190912ba2552c2bc1701c7">XNvm_ProcessMailbox()</a>, and <a class="el" href="group__xnvm__bbram__client__api.html#ga16b69cce167bd701e56511c099fdf150">XNVM_SLR_INDEX_SHIFT</a>.</p>

</div>
</div>
<a class="anchor" id="gac572fc5f0c58365ced7c15eeb8adec73"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int XNvm_EfuseWrite </td>
          <td>(</td>
          <td class="paramtype">XNvm_ClientInstance *&#160;</td>
          <td class="paramname"><em>InstancePtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const u64&#160;</td>
          <td class="paramname"><em>DataAddr</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function sends IPI request to program eFuses with user provided data. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>Pointer to the client instance </td></tr>
    <tr><td class="paramname">DataAddr</td><td>Address of the data structure where the eFUSE data to be programmed is stored</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li>XST_SUCCESS If the eFUSE programming is successful</li>
<li>ErrorCode If there is a failure</li>
</ul>
</dd></dl>
<h1><a class="anchor" id="Implementation"></a>
Implementation</h1>
<p>Validate input parameters. Return XST_INVALID_PARAM, If input parameters are invalid.</p>
<p>Validate AES,UsrKey,PPK0,PPK1,PPK2,IVs write request. If validation is success, Send XNvm_EfuseWrite CDO over IPI to the PLM. Wait for IPI response from PLM with a default timeout of 300 seconds. If the timeout exceeds then return the error else return status of the IPI response.</p>
<p>Validates PPK hash and sends an IPI request to the PLM by using the XNVM_API_ID_EFUSE_WRITE_PPK_HASH CDO command. Wait for IPI response from PLM with a default timeout of 300 seconds. If the timeout exceeds then error is returned otherwise it returns the status of the IPI response</p>
<p>Validates IV and sends an IPI request to the PLM by using the XNVM_API_ID_EFUSE_WRITE_IV CDO command. Wait for IPI response from PLM with a default timeout of 300 seconds. If the timeout exceeds then error is returned otherwise it returns the status of the IPI response</p>

<p>References <a class="el" href="group__xnvm__efuse__client__apis.html#ga7ed0e93e0e8a58ecfc5dd60e42461c15">XNvm_EfuseWriteIVs()</a>, and <a class="el" href="group__xnvm__mailbox__apis.html#ga3ce66c6266190912ba2552c2bc1701c7">XNvm_ProcessMailbox()</a>.</p>

</div>
</div>
<a class="anchor" id="gaefb1c21b807d6bb2cd0725d0bdc473af"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int XNvm_EfuseWrite </td>
          <td>(</td>
          <td class="paramtype">const XNvm_ClientInstance *&#160;</td>
          <td class="paramname"><em>InstancePtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const u64&#160;</td>
          <td class="paramname"><em>DataAddr</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function sends IPI request to program eFuses with user provided data. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>Pointer to the client instance </td></tr>
    <tr><td class="paramname">DataAddr</td><td>Address of the data structure where the eFUSE data to be programmed is stored</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li>XST_SUCCESS If the eFUSE programming is successful</li>
<li>XST_INVALID_PARAM If there is a input validation failure</li>
<li>XST_FAILURE If there is a failure </li>
</ul>
</dd></dl>
<p>Validate input parameters. Return XST_INVALID_PARAM if input parameters are invalid.</p>
<p>Sends EFUSE WRITE CDO to PLM through IPI. Return XST_FAILURE if IPI request of sending CDO not success.</p>

<p>References <a class="el" href="common_2xnvm__defs_8h.html#afefb58b4bc539bff958b4da2dbdfdd15af801fea29fd664f33d2499795991be50">XNVM_API_ID_EFUSE_WRITE</a>, <a class="el" href="group__xnvm__mailbox__apis.html#ga3ce66c6266190912ba2552c2bc1701c7">XNvm_ProcessMailbox()</a>, and <a class="el" href="group__xnvm__bbram__client__api.html#ga16b69cce167bd701e56511c099fdf150">XNVM_SLR_INDEX_SHIFT</a>.</p>

<p>Referenced by <a class="el" href="group__xnvm__efuse__server__apis.html#gac25f8f0b2dc9d17535f36f547b398f5a">XNvm_EfuseRevokePpk()</a>, <a class="el" href="group__xnvm__efuse__server__apis.html#ga4751c17a98da016fea4e701d67d5154b">XNvm_EfuseWriteIVs()</a>, <a class="el" href="group__xnvm__efuse__server__apis.html#ga4fa477e5473cdcf0220dad1b33ed9a39">XNvm_EfuseWriteRevocationId()</a>, and <a class="el" href="group__xnvm__efuse__server__apis.html#ga26145c29a3bf9f92c4cee3878a4abef2">XNvm_EfuseWriteUserFuses()</a>.</p>

</div>
</div>
<a class="anchor" id="ga9bb1800b8836e8b5b93a2f3280ffd028"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int XNvm_EfuseWriteBootEnvCtrlBits </td>
          <td>(</td>
          <td class="paramtype">XNvm_ClientInstance *&#160;</td>
          <td class="paramname"><em>InstancePtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u32&#160;</td>
          <td class="paramname"><em>BootEnvCtrlBits</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const u32&#160;</td>
          <td class="paramname"><em>EnvDisFlag</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function sends IPI request to program Boot Env Ctrl Bits requested by the user. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>Pointer to the client instance </td></tr>
    <tr><td class="paramname">BootEnvCtrlBits</td><td>Value of BootEnvCtrl Bits to be programmed </td></tr>
    <tr><td class="paramname">EnvDisFlag</td><td>Environmental monitoring flag set by the user. When set to true it will not check for voltage and temparature limits.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li>XST_SUCCESS If the programming is successful<ul>
<li>ErrorCode If there is a failure </li>
</ul>
</li>
</ul>
</dd></dl>
<p>Perform input parameter validation on InstancePtr. Return XST_INVALID_PARAM If input parameters are invalid.</p>
<p>Send an IPI request to the PLM by using the XNVM_API_ID_EFUSE_WRITE_BOOT_ENV_CTRL_BITS CDO command. Wait for IPI response from PLM with a default timeout of 300 seconds</p>

<p>References <a class="el" href="group__xnvm__mailbox__apis.html#ga3ce66c6266190912ba2552c2bc1701c7">XNvm_ProcessMailbox()</a>, and <a class="el" href="group__xnvm__efuse__client__apis.html#gaea0d7fa1f00d844fe51451c22316b9e8">XNVM_WORD_LEN</a>.</p>

</div>
</div>
<a class="anchor" id="gaaefd51d906cc8e0ab94021cc66117db7"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int XNvm_EfuseWriteBootModeDis </td>
          <td>(</td>
          <td class="paramtype">XNvm_ClientInstance *&#160;</td>
          <td class="paramname"><em>InstancePtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u32&#160;</td>
          <td class="paramname"><em>BootModeDisBits</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const u32&#160;</td>
          <td class="paramname"><em>EnvDisFlag</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function sends IPI request to program BootMode disable efuse bits requested by the user. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>Pointer to the client instance </td></tr>
    <tr><td class="paramname">BootModeDisBits</td><td>Value of Boot mode disable Bits to be programmed </td></tr>
    <tr><td class="paramname">EnvDisFlag</td><td>Environmental monitoring flag set by the user. When set to true it will not check for voltage and temparature limits.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li>XST_SUCCESS If the programming is successful</li>
<li>ErrorCode If there is a failure </li>
</ul>
</dd></dl>
<p>Perform input parameter validation on InstancePtr. Return XST_INVALID_PARAM If input parameters are invalid.</p>
<p>Send an IPI request to the PLM by using the XNVM_API_ID_EFUSE_WRITE_BOOT_MODE_DISABLE CDO command. Wait for IPI response from PLM with a default timeout of 300 seconds</p>

<p>References <a class="el" href="group__xnvm__mailbox__apis.html#ga3ce66c6266190912ba2552c2bc1701c7">XNvm_ProcessMailbox()</a>, and <a class="el" href="group__xnvm__efuse__client__apis.html#gaea0d7fa1f00d844fe51451c22316b9e8">XNVM_WORD_LEN</a>.</p>

</div>
</div>
<a class="anchor" id="ga3fe9a35b9f742edadd32e748601834af"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int XNvm_EfuseWriteDecOnly </td>
          <td>(</td>
          <td class="paramtype">XNvm_ClientInstance *&#160;</td>
          <td class="paramname"><em>InstancePtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const u32&#160;</td>
          <td class="paramname"><em>EnvDisFlag</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function sends IPI request to program Dec Only eFuses. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>Pointer to the client instance </td></tr>
    <tr><td class="paramname">EnvDisFlag</td><td>Environmental monitoring flag set by the user. When set to true it will not check for voltage and temparature limits.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li>XST_SUCCESS If the programming is successful</li>
<li>ErrorCode If there is a failure </li>
</ul>
</dd></dl>
<p>Validate input parameters. Return XST_INVALID_PARAM, If input parameters are invalid.</p>
<p>Send XNvm_EfuseWriteSecCtrl CDO over IPI to the PLM. Wait for IPI response from PLM with a default timeout of 300 seconds.</p>

<p>References <a class="el" href="group__xnvm__mailbox__apis.html#ga3ce66c6266190912ba2552c2bc1701c7">XNvm_ProcessMailbox()</a>, and <a class="el" href="group__xnvm__efuse__client__apis.html#gaea0d7fa1f00d844fe51451c22316b9e8">XNVM_WORD_LEN</a>.</p>

</div>
</div>
<a class="anchor" id="ga0451643f0fb100232b825a43e98dc31f"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int XNvm_EfuseWriteDiceUds </td>
          <td>(</td>
          <td class="paramtype">XNvm_ClientInstance *&#160;</td>
          <td class="paramname"><em>InstancePtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const u64&#160;</td>
          <td class="paramname"><em>UdsAddr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const u32&#160;</td>
          <td class="paramname"><em>EnvDisFlag</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function sends IPI request to program DICE UDS. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>Pointer to the client instance </td></tr>
    <tr><td class="paramname">UdsAddr</td><td>Address of the UDS to be programmed </td></tr>
    <tr><td class="paramname">EnvDisFlag</td><td>Environmental monitoring flag set by the user. when set to true it will not check for voltage and temparature limits.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li>XST_SUCCESS If the programming is successful<ul>
<li>ErrorCode If there is a failure </li>
</ul>
</li>
</ul>
</dd></dl>
<p>Perform input parameter validation on InstancePtr. Return XST_INVALID_PARAM If input parameters are invalid</p>
<p>Send an IPI request to the PLM by using the XNVM_API_ID_EFUSE_WRITE_UDS CDO command. Wait for IPI response from PLM with a default timeout of 300 seconds</p>

<p>References <a class="el" href="group__xnvm__mailbox__apis.html#ga3ce66c6266190912ba2552c2bc1701c7">XNvm_ProcessMailbox()</a>, and <a class="el" href="group__xnvm__efuse__client__apis.html#gaea0d7fa1f00d844fe51451c22316b9e8">XNVM_WORD_LEN</a>.</p>

</div>
</div>
<a class="anchor" id="ga2fe80756c7fd8ac54259cb078673b929"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int XNvm_EfuseWriteDmeMode </td>
          <td>(</td>
          <td class="paramtype">XNvm_ClientInstance *&#160;</td>
          <td class="paramname"><em>InstancePtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u32&#160;</td>
          <td class="paramname"><em>DmeMode</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const u32&#160;</td>
          <td class="paramname"><em>EnvDisFlag</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function sends IPI request to program DME mode requested by the user. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>Pointer to the client instance </td></tr>
    <tr><td class="paramname">DmeMode</td><td>Value of DME mode to be programmed </td></tr>
    <tr><td class="paramname">EnvDisFlag</td><td>Environmental monitoring flag set by the user. When set to true it will not check for voltage and temparature limits.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li>XST_SUCCESS If the programming is successful<ul>
<li>ErrorCode If there is a failure </li>
</ul>
</li>
</ul>
</dd></dl>
<p>Perform input parameter validation on InstancePtr. Return XST_INVALID_PARAM If input parameters are invalid.</p>
<p>Send an IPI request to the PLM by using the XNVM_API_ID_EFUSE_WRITE_DME_MODE CDO command. Wait for IPI response from PLM with a default timeout of 300 seconds</p>

<p>References <a class="el" href="group__xnvm__mailbox__apis.html#ga3ce66c6266190912ba2552c2bc1701c7">XNvm_ProcessMailbox()</a>, and <a class="el" href="group__xnvm__efuse__client__apis.html#gaea0d7fa1f00d844fe51451c22316b9e8">XNVM_WORD_LEN</a>.</p>

</div>
</div>
<a class="anchor" id="gaa3d72c2fc1303437a2bd30a1984e3e81"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int XNvm_EfuseWriteFipsInfo </td>
          <td>(</td>
          <td class="paramtype">XNvm_ClientInstance *&#160;</td>
          <td class="paramname"><em>InstancePtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const u16&#160;</td>
          <td class="paramname"><em>FipsMode</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const u16&#160;</td>
          <td class="paramname"><em>FipsVersion</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const u32&#160;</td>
          <td class="paramname"><em>EnvDisFlag</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function sends IPI request to program FIPS info eFuses. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>Pointer to the client instance </td></tr>
    <tr><td class="paramname">FipsMode</td><td>FIPS mode which needs to be programmed </td></tr>
    <tr><td class="paramname">FipsVersion</td><td>FIPS version which needs to be programmed </td></tr>
    <tr><td class="paramname">EnvDisFlag</td><td>Environmental monitoring flag set by the user. When set to true it will not check for voltage and temparature limits.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li>XST_SUCCESS If the programming is successful</li>
<li>ErrorCode If there is a failure </li>
</ul>
</dd></dl>
<p>Validate input parameters. Return XST_INVALID_PARAM, if input parameters are invalid.</p>
<p>Send XNvm_EfuseWritePufCtrl CDO over IPI request to the PLM. Wait for IPI response from PLM with a default timeout of 300 seconds.</p>

<p>References <a class="el" href="group__xnvm__mailbox__apis.html#ga3ce66c6266190912ba2552c2bc1701c7">XNvm_ProcessMailbox()</a>, and <a class="el" href="group__xnvm__efuse__client__apis.html#gaea0d7fa1f00d844fe51451c22316b9e8">XNVM_WORD_LEN</a>.</p>

</div>
</div>
<a class="anchor" id="ga75863c5bebf00e95dff382a754c77473"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int XNvm_EfuseWriteGlitchConfigBits </td>
          <td>(</td>
          <td class="paramtype">XNvm_ClientInstance *&#160;</td>
          <td class="paramname"><em>InstancePtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u32&#160;</td>
          <td class="paramname"><em>GlitchCfgBits</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const u32&#160;</td>
          <td class="paramname"><em>EnvDisFlag</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function sends IPI request to program Glitch Cfg Bits requested by the user. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>Pointer to the client instance </td></tr>
    <tr><td class="paramname">GlitchCfgBits</td><td>Value of Glitch Cfg Bits to be programmed </td></tr>
    <tr><td class="paramname">EnvDisFlag</td><td>Environmental monitoring flag set by the user. When set to true it will not check for voltage and temparature limits.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li>XST_SUCCESS If the programming is successful<ul>
<li>ErrorCode If there is a failure </li>
</ul>
</li>
</ul>
</dd></dl>
<p>Perform input parameter validation on InstancePtr. Return XST_INVALID_PARAM If input parameters are invalid.</p>
<p>Send an IPI request to the PLM by using the XNVM_API_ID_EFUSE_WRITE_GLITCH_CONFIG CDO command. Wait for IPI response from PLM with a default timeout of 300 seconds</p>

<p>References <a class="el" href="group__xnvm__mailbox__apis.html#ga3ce66c6266190912ba2552c2bc1701c7">XNvm_ProcessMailbox()</a>, and <a class="el" href="group__xnvm__efuse__client__apis.html#gaea0d7fa1f00d844fe51451c22316b9e8">XNVM_WORD_LEN</a>.</p>

</div>
</div>
<a class="anchor" id="gac61a7d89941969baef3138718ef49163"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int XNvm_EfuseWriteIVs </td>
          <td>(</td>
          <td class="paramtype">XNvm_ClientInstance *&#160;</td>
          <td class="paramname"><em>InstancePtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const u64&#160;</td>
          <td class="paramname"><em>IvAddr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const u32&#160;</td>
          <td class="paramname"><em>EnvDisFlag</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function sends IPI request to program IV as requested by the user. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>Pointer to the client instance </td></tr>
    <tr><td class="paramname">IvAddr</td><td>Address of the IV to be programmed </td></tr>
    <tr><td class="paramname">EnvDisFlag</td><td>Environmental monitoring flag set by the user. when set to true it will not check for voltage and temparature limits.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li>XST_SUCCESS If the programming is successful</li>
<li>ErrorCode If there is a failure </li>
</ul>
</dd></dl>
<p>Validate input parameters. Return XST_INVALID_PARAM, if input parameters are invalid.</p>
<p>Get shared memory allocated by the user using XMailbox_GetSharedMem API, to store data structure in the user memory. Perform validation on the size of the shared memory, if size is less than the total size return XST_FAILURE.</p>
<p>Fill the EfuseData structure with the IV address, Environmental disable flag.</p>
<p>Send XNvm_EfuseWriteIv CDO over IPI to the PLM. Wait for IPI response from PLM with a default timeout of 300 seconds.</p>

<p>References <a class="el" href="group__xnvm__mailbox__apis.html#ga3ce66c6266190912ba2552c2bc1701c7">XNvm_ProcessMailbox()</a>.</p>

</div>
</div>
<a class="anchor" id="ga7ed0e93e0e8a58ecfc5dd60e42461c15"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int XNvm_EfuseWriteIVs </td>
          <td>(</td>
          <td class="paramtype">const XNvm_ClientInstance *&#160;</td>
          <td class="paramname"><em>InstancePtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const u64&#160;</td>
          <td class="paramname"><em>IvAddr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const u32&#160;</td>
          <td class="paramname"><em>EnvDisFlag</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function sends IPI request to program IV eFuses with user provided data. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>Pointer to the client instance </td></tr>
    <tr><td class="paramname">IvAddr</td><td>Address of the data structure where the eFUSE data to be programmed is stored </td></tr>
    <tr><td class="paramname">EnvDisFlag</td><td>Flag that tells weather to enable/disable Environmental monitoring in XilNvm</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li>XST_SUCCESS If the programming is successful</li>
<li>XST_INVALID_PARAM If there is a input validation failure</li>
<li>XST_FAILURE If there is a failure </li>
</ul>
</dd></dl>
<p>Validate input parameters. Return XST_INVALID_PARAM if input parameters are invalid.</p>
<p>Link Shared memory for IPI usage. If shared memory is not assigned return XST_FAILURE.</p>
<p>Zeroize the shared memory.</p>
<p>Sends EFUSE WRITE IV CDO to PLM through IPI request. Return XST_FAILURE if IPI request is failed</p>

<p>References <a class="el" href="common_2xnvm__defs_8h.html#afefb58b4bc539bff958b4da2dbdfdd15af801fea29fd664f33d2499795991be50">XNVM_API_ID_EFUSE_WRITE</a>, <a class="el" href="common_2xnvm__defs_8h.html#acb09e3a1953594cf9c5583d9fdfc9066">XNvm_DCacheFlushRange</a>, <a class="el" href="group__xnvm__mailbox__apis.html#ga3ce66c6266190912ba2552c2bc1701c7">XNvm_ProcessMailbox()</a>, and <a class="el" href="group__xnvm__bbram__client__api.html#ga16b69cce167bd701e56511c099fdf150">XNVM_SLR_INDEX_SHIFT</a>.</p>

<p>Referenced by <a class="el" href="group__xnvm__efuse__client__apis.html#gac572fc5f0c58365ced7c15eeb8adec73">XNvm_EfuseWrite()</a>.</p>

</div>
</div>
<a class="anchor" id="gab876f823d2385d13f6d16654464bcd4b"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int XNvm_EfuseWriteMiscCtrlBits </td>
          <td>(</td>
          <td class="paramtype">XNvm_ClientInstance *&#160;</td>
          <td class="paramname"><em>InstancePtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u32&#160;</td>
          <td class="paramname"><em>MiscCtrlBits</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const u32&#160;</td>
          <td class="paramname"><em>EnvDisFlag</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function sends IPI request to program Misc Control Bits requested by the user. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>Pointer to the client instance </td></tr>
    <tr><td class="paramname">MiscCtrlBits</td><td>Value of Misc Control Bits to be programmed </td></tr>
    <tr><td class="paramname">EnvDisFlag</td><td>Environmental monitoring flag set by the user. When set to true it will not check for voltage and temparature limits.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li>XST_SUCCESS If the programming is successful<ul>
<li>ErrorCode If there is a failure </li>
</ul>
</li>
</ul>
</dd></dl>
<p>Perform input parameter validation on InstancePtr. Return XST_INVALID_PARAM If input parameters are invalid.</p>
<p>Send an IPI request to the PLM by using the XNVM_API_ID_EFUSE_WRITE_MISC_CTRL_BITS CDO command. Wait for IPI response from PLM with a default timeout of 300 seconds</p>

<p>References <a class="el" href="group__xnvm__mailbox__apis.html#ga3ce66c6266190912ba2552c2bc1701c7">XNvm_ProcessMailbox()</a>, and <a class="el" href="group__xnvm__efuse__client__apis.html#gaea0d7fa1f00d844fe51451c22316b9e8">XNVM_WORD_LEN</a>.</p>

</div>
</div>
<a class="anchor" id="gac15adc21769d673aa1e7f3bf371e9eb5"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int XNvm_EfuseWriteOffChipRevocationId </td>
          <td>(</td>
          <td class="paramtype">XNvm_ClientInstance *&#160;</td>
          <td class="paramname"><em>InstancePtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const u32&#160;</td>
          <td class="paramname"><em>OffChipRevokeIdNum</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const u32&#160;</td>
          <td class="paramname"><em>EnvDisFlag</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function sends IPI request to program off chip Revocation Id eFuses. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>Pointer to the client instance </td></tr>
    <tr><td class="paramname">OffChipRevokeIdNum</td><td>Off Chip Revocation ID number which needs to be programmed </td></tr>
    <tr><td class="paramname">EnvDisFlag</td><td>Environmental monitoring flag set by the user. When set to true it will not check for voltage and temparature limits.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li>XST_SUCCESS If the programming is successful</li>
<li>ErrorCode If there is a failure </li>
</ul>
</dd></dl>
<p>Validate input parameters. Return XST_INVALID_PARAM, if input parameters are invalid.</p>
<p>Send XNvm_EfuseWriteRomRsvd CDO over IPI request to the PLM. Wait for IPI response from PLM with a default timeout of 300 seconds.</p>

<p>References <a class="el" href="group__xnvm__mailbox__apis.html#ga3ce66c6266190912ba2552c2bc1701c7">XNvm_ProcessMailbox()</a>, and <a class="el" href="group__xnvm__efuse__client__apis.html#gaea0d7fa1f00d844fe51451c22316b9e8">XNVM_WORD_LEN</a>.</p>

</div>
</div>
<a class="anchor" id="ga23cf0605525481bcf5f286ec6de7523e"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int XNvm_EfuseWritePlmUpdate </td>
          <td>(</td>
          <td class="paramtype">XNvm_ClientInstance *&#160;</td>
          <td class="paramname"><em>InstancePtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const u32&#160;</td>
          <td class="paramname"><em>EnvDisFlag</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function sends IPI request to program PLM update bit. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>Pointer to the client instance </td></tr>
    <tr><td class="paramname">EnvDisFlag</td><td>Environmental monitoring flag set by the user. When set to true it will not check for voltage and temparature limits.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>- XST_SUCCESS - If the programming is successful<ul>
<li>ErrorCode - If there is a failure </li>
</ul>
</dd></dl>
<p>Perform input parameter validation on InstancePtr. Return XST_INVALID_PARAM If input parameters are invalid.</p>
<p>Send an IPI request to the PLM by using the XNVM_API_ID_EFUSE_WRITE_PLM_UPDATE CDO command. Wait for IPI response from PLM with a default timeout of 300 seconds</p>

<p>References <a class="el" href="group__xnvm__mailbox__apis.html#ga3ce66c6266190912ba2552c2bc1701c7">XNvm_ProcessMailbox()</a>, and <a class="el" href="group__xnvm__efuse__client__apis.html#gaea0d7fa1f00d844fe51451c22316b9e8">XNVM_WORD_LEN</a>.</p>

</div>
</div>
<a class="anchor" id="ga66f2ff5082708dd36846edc278f5a08e"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int XNvm_EfuseWritePuf </td>
          <td>(</td>
          <td class="paramtype">XNvm_ClientInstance *&#160;</td>
          <td class="paramname"><em>InstancePtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const u64&#160;</td>
          <td class="paramname"><em>PufHdAddr</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function sends IPI request to program Puf helper data requested by the user. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>Pointer to the client instance </td></tr>
    <tr><td class="paramname">PufHdAddr</td><td>Address of the <a class="el" href="struct_x_nvm___efuse_puf_hd_addr.html" title="&lt; Puf helper data ">XNvm_EfusePufHdAddr</a> structure where the user provided helper data to be programmed</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li>XST_SUCCESS If the programming is successful</li>
<li>ErrorCode If there is a failure </li>
</ul>
</dd></dl>
<p>Validate input parameters. Return XST_INVALID_PARAM, if input parameters are invalid.</p>
<p>Send XNvm_EfuseWritePuf CDO over IPI request to the PLM. Wait for IPI response from PLM with a default timeout of 300 seconds. If the timeout exceeds then return error else return status of the IPI response.</p>

<p>References <a class="el" href="group__xnvm__mailbox__apis.html#ga3ce66c6266190912ba2552c2bc1701c7">XNvm_ProcessMailbox()</a>, and <a class="el" href="group__xnvm__efuse__client__apis.html#gaea0d7fa1f00d844fe51451c22316b9e8">XNVM_WORD_LEN</a>.</p>

</div>
</div>
<a class="anchor" id="gad260093cbe9bacb6d0f649b84bccd8a0"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int XNvm_EfuseWritePuf </td>
          <td>(</td>
          <td class="paramtype">const XNvm_ClientInstance *&#160;</td>
          <td class="paramname"><em>InstancePtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const u64&#160;</td>
          <td class="paramname"><em>PufHdAddr</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function sends IPI request to program Puf helper data requested by the user. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>Pointer to the client instance </td></tr>
    <tr><td class="paramname">PufHdAddr</td><td>Address of the <a class="el" href="struct_x_nvm___efuse_puf_hd_addr.html" title="&lt; Puf helper data ">XNvm_EfusePufHdAddr</a> structure where the user provided helper data to be programmed</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li>XST_SUCCESS If the programming is successful</li>
<li>XST_INVALID_PARAM If there is a input validation failure</li>
<li>XST_FAILURE If there is a failure </li>
</ul>
</dd></dl>
<p>Validate input parameters. Return XST_INVALID_PARAM if input parameters are invalid.</p>
<p>Send write puf CDO to PLM to write PUF helper data to eFuses. Return XST_FAILURE if IPI request processing fails in PLM.</p>

<p>References <a class="el" href="common_2xnvm__defs_8h.html#afefb58b4bc539bff958b4da2dbdfdd15aa8264a14c55ac3cfa81b0bcf2d04c7cc">XNVM_API_ID_EFUSE_WRITE_PUF</a>, <a class="el" href="common_2xnvm__defs_8h.html#acb09e3a1953594cf9c5583d9fdfc9066">XNvm_DCacheFlushRange</a>, <a class="el" href="group__xnvm__mailbox__apis.html#ga3ce66c6266190912ba2552c2bc1701c7">XNvm_ProcessMailbox()</a>, and <a class="el" href="group__xnvm__bbram__client__api.html#ga16b69cce167bd701e56511c099fdf150">XNVM_SLR_INDEX_SHIFT</a>.</p>

</div>
</div>
<a class="anchor" id="ga64be6dbb240bc0ae308f7e8463dbfbed"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int XNvm_EfuseWritePufCtrlBits </td>
          <td>(</td>
          <td class="paramtype">XNvm_ClientInstance *&#160;</td>
          <td class="paramname"><em>InstancePtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u32&#160;</td>
          <td class="paramname"><em>PufCtrlBits</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const u32&#160;</td>
          <td class="paramname"><em>EnvDisFlag</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function sends IPI request to program Puf Control Bits requested by the user. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>Pointer to the client instance </td></tr>
    <tr><td class="paramname">PufCtrlBits</td><td>Value of Puf Control Bits to be programmed </td></tr>
    <tr><td class="paramname">EnvDisFlag</td><td>Environmental monitoring flag set by the user. When set to true it will not check for voltage and temparature limits.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li>XST_SUCCESS If the programming is successful<ul>
<li>ErrorCode If there is a failure </li>
</ul>
</li>
</ul>
</dd></dl>
<p>Perform input parameter validation on InstancePtr. Return XST_INVALID_PARAM If input parameters are invalid.</p>
<p>Send an IPI request to the PLM by using the XNVM_API_ID_EFUSE_WRITE_PUF_CTRL_BITS CDO command. Wait for IPI response from PLM with a default timeout of 300 seconds.</p>

<p>References <a class="el" href="group__xnvm__mailbox__apis.html#ga3ce66c6266190912ba2552c2bc1701c7">XNvm_ProcessMailbox()</a>, and <a class="el" href="group__xnvm__efuse__client__apis.html#gaea0d7fa1f00d844fe51451c22316b9e8">XNVM_WORD_LEN</a>.</p>

</div>
</div>
<a class="anchor" id="ga1754fe500ff158eeb5f0b3309c91c623"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int XNvm_EfuseWriteRevocationId </td>
          <td>(</td>
          <td class="paramtype">XNvm_ClientInstance *&#160;</td>
          <td class="paramname"><em>InstancePtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const u32&#160;</td>
          <td class="paramname"><em>RevokeIdNum</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const u32&#160;</td>
          <td class="paramname"><em>EnvDisFlag</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function sends IPI request to program Revocation Id eFuses. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>Pointer to the client instance </td></tr>
    <tr><td class="paramname">RevokeIdNum</td><td>Revocation ID number which needs to be programmed </td></tr>
    <tr><td class="paramname">EnvDisFlag</td><td>Environmental monitoring flag set by the user. When set to true it will not check for voltage and temparature limits.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li>XST_SUCCESS If the programming is successful</li>
<li>ErrorCode If there is a failure </li>
</ul>
</dd></dl>
<p>Validate input parameters. Return XST_INVALID_PARAM, if input parameters are invalid.</p>
<p>Send XNvm_EfuseWriteMiscCtrl CDO over IPI request to the PLM. Wait for IPI response from PLM with a default timeout of 300 seconds.</p>

<p>References <a class="el" href="common_2xnvm__defs_8h.html#afefb58b4bc539bff958b4da2dbdfdd15abd64d3bff4f827a0a23549d44a192373">XNVM_API_ID_EFUSE_WRITE_REVOCATION_ID</a>, <a class="el" href="group__xnvm__mailbox__apis.html#ga3ce66c6266190912ba2552c2bc1701c7">XNvm_ProcessMailbox()</a>, and <a class="el" href="group__xnvm__efuse__client__apis.html#gaea0d7fa1f00d844fe51451c22316b9e8">XNVM_WORD_LEN</a>.</p>

</div>
</div>
<a class="anchor" id="gae09868a910eea80203d78873f4de064c"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int XNvm_EfuseWriteRevocationId </td>
          <td>(</td>
          <td class="paramtype">const XNvm_ClientInstance *&#160;</td>
          <td class="paramname"><em>InstancePtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const u32&#160;</td>
          <td class="paramname"><em>RevokeId</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const u32&#160;</td>
          <td class="paramname"><em>EnvDisFlag</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function sends IPI request to program revoke id eFuses requested by the user. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>Pointer to the client instance </td></tr>
    <tr><td class="paramname">RevokeId</td><td>RevokeId number to be revoked </td></tr>
    <tr><td class="paramname">EnvDisFlag</td><td>Flag that tells whether to enable/disable Environmental monitoring in XilNvm</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li>XST_SUCCESS If the programming is successful</li>
<li>XST_INVALID_PARAM If there is a input validation failure</li>
<li>XST_FAILURE If there is a failure </li>
</ul>
</dd></dl>
<p>Validate input parameters. Return XST_INVALID_PARAM if input parameters are invalid.</p>
<p>Link shared memory for IPI usage. If shared memory is not assigned return XST_FAILURE.</p>
<p>Zeroize the shared memory.</p>
<p>Send Revocation Id CDO to PLM to write to the user specified revocation eFuses. Return XST_FAILURE, if IPI request status is not success.</p>

<p>References <a class="el" href="common_2xnvm__defs_8h.html#afefb58b4bc539bff958b4da2dbdfdd15af801fea29fd664f33d2499795991be50">XNVM_API_ID_EFUSE_WRITE</a>, <a class="el" href="common_2xnvm__defs_8h.html#acb09e3a1953594cf9c5583d9fdfc9066">XNvm_DCacheFlushRange</a>, <a class="el" href="group__xnvm__mailbox__apis.html#ga3ce66c6266190912ba2552c2bc1701c7">XNvm_ProcessMailbox()</a>, and <a class="el" href="group__xnvm__bbram__client__api.html#ga16b69cce167bd701e56511c099fdf150">XNVM_SLR_INDEX_SHIFT</a>.</p>

</div>
</div>
<a class="anchor" id="gad3821263965e76d7205032b8b37d6d2a"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int XNvm_EfuseWriteRomRsvdBits </td>
          <td>(</td>
          <td class="paramtype">XNvm_ClientInstance *&#160;</td>
          <td class="paramname"><em>InstancePtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u32&#160;</td>
          <td class="paramname"><em>RomRsvdBits</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const u32&#160;</td>
          <td class="paramname"><em>EnvDisFlag</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function sends IPI request to program ROM Rsvd Bits requested by the user. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>Pointer to the client instance </td></tr>
    <tr><td class="paramname">RomRsvdBits</td><td>Value of ROM Rsvd Bits to be programmed </td></tr>
    <tr><td class="paramname">EnvDisFlag</td><td>Environmental monitoring flag set by the user. When set to true it will not check for voltage and temparature limits.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li>XST_SUCCESS If the programming is successful</li>
<li>ErrorCode If there is a failure </li>
</ul>
</dd></dl>
<p>Perform input parameter validation on InstancePtr. Return XST_INVALID_PARAM If input parameters are invalid.</p>
<p>Send an IPI request to the PLM by using the XNVM_API_ID_EFUSE_WRITE_ROM_RSVD CDO command. Wait for IPI response from PLM with a default timeout of 300 seconds</p>

<p>References <a class="el" href="group__xnvm__mailbox__apis.html#ga3ce66c6266190912ba2552c2bc1701c7">XNvm_ProcessMailbox()</a>, and <a class="el" href="group__xnvm__efuse__client__apis.html#gaea0d7fa1f00d844fe51451c22316b9e8">XNVM_WORD_LEN</a>.</p>

</div>
</div>
<a class="anchor" id="ga0fff3a9010545e93ce2653cce3dd7cb2"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int XNvm_EfuseWriteSecCtrlBits </td>
          <td>(</td>
          <td class="paramtype">XNvm_ClientInstance *&#160;</td>
          <td class="paramname"><em>InstancePtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u32&#160;</td>
          <td class="paramname"><em>SecCtrlBits</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const u32&#160;</td>
          <td class="paramname"><em>EnvDisFlag</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function sends IPI request to program Secure Control Bits requested by the user. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>Pointer to the client instance </td></tr>
    <tr><td class="paramname">SecCtrlBits</td><td>Value of Secure Control Bits to be programmed </td></tr>
    <tr><td class="paramname">EnvDisFlag</td><td>Environmental monitoring flag set by the user. When set to true it will not check for voltage and temparature limits.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li>XST_SUCCESS If the programming is successful<ul>
<li>ErrorCode If there is a failure </li>
</ul>
</li>
</ul>
</dd></dl>
<p>Perform input parameter validation on InstancePtr. Return XST_INVALID_PARAM If input parameters are invalid.</p>
<p>Send an IPI request to the PLM by using the XNVM_API_ID_EFUSE_WRITE_SEC_CTRL_BITS CDO command. Wait for IPI response from PLM with a default timeout of 300 seconds</p>

<p>References <a class="el" href="group__xnvm__mailbox__apis.html#ga3ce66c6266190912ba2552c2bc1701c7">XNvm_ProcessMailbox()</a>, and <a class="el" href="group__xnvm__efuse__client__apis.html#gaea0d7fa1f00d844fe51451c22316b9e8">XNVM_WORD_LEN</a>.</p>

</div>
</div>
<a class="anchor" id="ga5035ae74158206735b20af385432738a"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int XNvm_EfuseWriteSecMisc1Bits </td>
          <td>(</td>
          <td class="paramtype">XNvm_ClientInstance *&#160;</td>
          <td class="paramname"><em>InstancePtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u32&#160;</td>
          <td class="paramname"><em>SecMisc1Bits</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const u32&#160;</td>
          <td class="paramname"><em>EnvDisFlag</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function sends IPI request to program Sec Misc 1 Bits requested by the user. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>Pointer to the client instance </td></tr>
    <tr><td class="paramname">SecMisc1Bits</td><td>Value of Sec Misc 1 Bits to be programmed </td></tr>
    <tr><td class="paramname">EnvDisFlag</td><td>Environmental monitoring flag set by the user. When set to true it will not check for voltage and temparature limits.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li>XST_SUCCESS If the programming is successful</li>
<li>ErrorCode If there is a failure </li>
</ul>
</dd></dl>
<p>Perform input parameter validation on InstancePtr. Return XST_INVALID_PARAM If input parameters are invalid.</p>
<p>Send an IPI request to the PLM by using the XNVM_API_ID_EFUSE_WRITE_MISC1_CTRL_BITS CDO command. Wait for IPI response from PLM with a default timeout of 300 seconds</p>

<p>References <a class="el" href="group__xnvm__mailbox__apis.html#ga3ce66c6266190912ba2552c2bc1701c7">XNvm_ProcessMailbox()</a>, and <a class="el" href="group__xnvm__efuse__client__apis.html#gaea0d7fa1f00d844fe51451c22316b9e8">XNVM_WORD_LEN</a>.</p>

</div>
</div>
<a class="anchor" id="gab49aedef8afbe4faa8a842b847cece3c"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int XNvm_EfuseWriteUserFuses </td>
          <td>(</td>
          <td class="paramtype">const XNvm_ClientInstance *&#160;</td>
          <td class="paramname"><em>InstancePtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const u64&#160;</td>
          <td class="paramname"><em>UserFuseAddr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const u32&#160;</td>
          <td class="paramname"><em>EnvDisFlag</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function sends IPI request to program User eFuses requested by the user. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>Pointer to the client instance </td></tr>
    <tr><td class="paramname">UserFuseAddr</td><td>Address of the <a class="el" href="struct_x_nvm___efuse_user_data.html" title="user efuses details ">XNvm_EfuseUserData</a> structure where the user provided data to be programmed </td></tr>
    <tr><td class="paramname">EnvDisFlag</td><td>Flag that tells whether to enable/disable Environmental monitoring in XilNvm</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li>XST_SUCCESS If the programming is successful</li>
<li>XST_INVALID_PARAM If there is a input validation failure</li>
<li>XST_FAILURE If there is a failure </li>
</ul>
</dd></dl>
<p>Validate input parameters. Return XST_INVALID_PARAM if input parameters are invalid.</p>
<p>Link shared memory for IPI usage. If shared memory is not assigned return XST_FAILURE.</p>
<p>Zeroize the shared memory.</p>
<p>Send eFUSE write CDO to PLM to write user specified user eFuses. Return XST_FAILURE if IPI request processing fails in PLM.</p>

<p>References <a class="el" href="common_2xnvm__defs_8h.html#afefb58b4bc539bff958b4da2dbdfdd15af801fea29fd664f33d2499795991be50">XNVM_API_ID_EFUSE_WRITE</a>, <a class="el" href="common_2xnvm__defs_8h.html#acb09e3a1953594cf9c5583d9fdfc9066">XNvm_DCacheFlushRange</a>, <a class="el" href="group__xnvm__mailbox__apis.html#ga3ce66c6266190912ba2552c2bc1701c7">XNvm_ProcessMailbox()</a>, and <a class="el" href="group__xnvm__bbram__client__api.html#ga16b69cce167bd701e56511c099fdf150">XNVM_SLR_INDEX_SHIFT</a>.</p>

</div>
</div>
<a class="anchor" id="ga5b4ffffd504310ff58b4d21f0308ff04"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int XNvm_WriteDmePrivateKey </td>
          <td>(</td>
          <td class="paramtype">XNvm_ClientInstance *&#160;</td>
          <td class="paramname"><em>InstancePtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u32&#160;</td>
          <td class="paramname"><em>DmeKeyType</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const u64&#160;</td>
          <td class="paramname"><em>DmeKeyAddr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const u32&#160;</td>
          <td class="paramname"><em>EnvDisFlag</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function sends IPI request to program encrypted DME private key. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>Pointer to the client instance </td></tr>
    <tr><td class="paramname">DmeKeyType</td><td>Type of DME Key which needs to be programmed </td></tr>
    <tr><td class="paramname">DmeKeyAddr</td><td>Address of the encrypted DME private key to be programmed </td></tr>
    <tr><td class="paramname">EnvDisFlag</td><td>Environmental monitoring flag set by the user. when set to true it will not check for voltage and temparature limits.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li>XST_SUCCESS If the programming is successful<ul>
<li>ErrorCode If there is a failure </li>
</ul>
</li>
</ul>
</dd></dl>
<p>Perform input parameter validation on InstancePtr. Return XST_INVALID_PARAM If input parameters are invalid</p>
<p>Send an IPI request to the PLM by using the XNVM_API_ID_EFUSE_WRITE_DME_KEY CDO command. Wait for IPI response from PLM with a default timeout of 300 seconds</p>

<p>References <a class="el" href="group__xnvm__mailbox__apis.html#ga3ce66c6266190912ba2552c2bc1701c7">XNvm_ProcessMailbox()</a>, and <a class="el" href="group__xnvm__efuse__client__apis.html#gaea0d7fa1f00d844fe51451c22316b9e8">XNVM_WORD_LEN</a>.</p>

</div>
</div>
</div><!-- contents -->
</div><!-- doc-content -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
	<p class="footer">&copy; Copyright 2015-2022 Xilinx, Inc. All Rights Reserved.</p>
	<p class="footer">&copy; Copyright 2022-2023 Advanced Micro Devices, Inc. All Rights Reserved.</p>
</div>
</body>
</html>
